Cum se modifică Git Commit utilizând opțiunea Amend

How Change Git Commit Using Amend Option



git commit Comanda `este utilizată pentru a confirma orice modificări efectuate în depozit, iar git păstrează istoricul fiecărei sarcini angajate. Uneori, utilizatorul trebuie să schimbe mesajul angajat înainte sau după publicarea depozitului. Utilizatorul trebuie să rescrie istoricul git pentru a schimba comiterea mai veche sau mai nouă a depozitului. The –Amenda opțiunea este utilizată cu „ git commit `comanda pentru rescrierea istoricului git. Acest tutorial explică modul în care această opțiune poate fi aplicată depozitului git local și la distanță pentru a schimba mesajul git commit sau git commit.

Condiții preliminare:

Instalați GitHub Desktop.

GitHub Desktop ajută utilizatorul git să efectueze grafic sarcinile legate de git. Puteți descărca cu ușurință cel mai recent instalator al acestei aplicații pentru Ubuntu de pe github.com. Trebuie să instalați și să configurați această aplicație după descărcare pentru a o utiliza. De asemenea, puteți verifica tutorialul pentru instalarea GitHub Desktop pe Ubuntu pentru a cunoaște corect procesul de instalare.







Creați un cont GitHub

Va trebui să creați un cont GitHub pentru a verifica ieșirea comenzilor pe serverul de la distanță.



Creați un depozit local și la distanță

Trebuie să creați un depozit local și să publicați depozitul pe serverul de la distanță pentru a testa comenzile utilizate în acest tutorial. Accesați dosarul local al depozitului pentru a verifica comenzile utilizate în acest tutorial.



Schimbați ultimul commit:

Trebuie să verificați starea curentă a depozitului local și să efectuați unele sarcini de validare înainte de a aplica orice modificare la ultima validare. Un depozit local numit librărie a fost folosit pentru a testa comenzile utilizate în acest tutorial. Rulați următoarea comandă din locația depozitului pentru a verifica starea de confirmare curentă a depozitului.





$git commit

Următoarea ieșire arată că sunt numite două fișiere nerecomandate booklist.php și booktype.php.



Rulați următoarele comenzi pentru a adăuga două fișiere în depozit cu mesajul de confirmare și verificați starea depozitului după confirmare.

$git addbooklist.php

$git commit -m „s-a adăugat fișierul listei de cărți.”

$git addbooktype.php

$git commit -m 'fișier booktype a fost adăugat.'

$git commit

Următoarea ieșire arată că booklist.php și booktype.php fișierele sunt adăugate cu mesaje de confirmare. Apoi, când rezultatul comenzii commit arată că arborele de lucru este curat.

Puteți modifica ultimul mesaj de validare utilizând editorul sau executând comanda terminalului. Rulați următoarele git commit `comanda cu –Amenda opțiune pentru a schimba ultimul mesaj de validare utilizând un editor de text.

$git commit - amendează

Următorul editor se va deschide după executarea comenzii de mai sus pentru a modifica ultimul mesaj de confirmare.

Rulați următoarea comandă pentru a schimba ultimul mesaj de confirmare de la terminal.

$git commit - amendează -m „Fișierul tip de carte s-a schimbat din nou.”

Rezultatul arată că ultimul mesaj de confirmare s-a schimbat în Fișierul tip de carte s-a schimbat din nou.

Schimbați vechiul commit:

Comitetul mai vechi sau cele multiple pot fi modificate folosind comenzile `git rebase` și comenzile` git commit –amend`. Comanda rebase este utilizată pentru rescrierea istoricului de validare, dar nu este recomandat să o utilizați pentru acele validări publicate deja pe serverul de la distanță. Comanda rebase este utilizată cu numărul de confirmări pentru a schimba mai multe confirmări git. Rulați următoarea comandă pentru a schimba ultimele două mesaje de confirmare. Editorul va fi deschis cu ultimele două mesaje de confirmare după executarea comenzii.

$git rebase -iHEAD ~2

Următoarea ieșire arată ultimele două mesaje de validare ale depozitului cu valori de validare SHA.

Scrie reformulează in locul alege pe acele linii ale mesajului de confirmare pe care doriți să le modificați. În imaginea următoare, modificarea a fost făcută numai pentru un singur commit. Acest mesaj de validare va fi deschis pentru editare pe un alt editor după salvarea fișierului curent.

Mesajul de confirmare poate fi modificat din editor acum. Aici, mesajul, S-a adăugat fișierul listei de cărți . s-a schimbat în Fișierul listei de cărți s-a modificat.

Dacă rulați din nou comanda rebase, veți vedea mesajul de modificare modificat în editor, cum ar fi următoarea imagine.

Adăugați modificări la ultima confirmare:

Să presupunem că booklist.php fișierul a fost modificat după ce s-a angajat în depozit. Acum, rulați următoarea comandă pentru a adăuga din nou fișierul din nou și pentru a modifica mesajul de validare pentru această adăugare utilizând „ git commit `comanda cu –Amenda opțiune.

$git addbooklist.php

$git commit - amendează -m „Fișierul listei de cărți s-a actualizat.”

Următoarea ieșire va apărea după executarea comenzilor de mai sus.

Dacă nu doriți să modificați mesajul de confirmare anterior după adăugarea din nou a fișierului, trebuie să utilizați opțiunea –no-edit cu –Amenda opțiune cu „ git commit `comanda. Următoarea comandă va adăuga fișierul modificat în depozit fără a modifica mesajul de confirmare.

$git commit - amendează --no-edit

După finalizarea tuturor modificărilor din depozitul local, puteți împinge conținutul local pe serverul de la distanță executând comanda push de la terminal sau deschizând depozitul în aplicația GitHub Desktop. Să presupunem că deschideți depozitul pe desktopul GitHub și faceți clic pe opțiunea Publicați depozitul. În acest caz, va apărea următoarea casetă de dialog pentru a publica conținutul modificat al depozitului local pe serverul de la distanță.

Concluzie:

Utilizările opțiunii –amend pentru modificarea unuia sau mai multor commit-uri git au fost descrise în acest tutorial utilizând un depozit demo. Modul de a schimba commit-ul cu sau fără a modifica mesajul de commit a fost prezentat aici pentru a ajuta utilizatorul git să înțeleagă scopul utilizării opțiunii –amend și să-l aplice în depozitul git pentru a modifica commit-ul.