Git: Modificați un mesaj de comitere existent

Greșelile sunt comune, toți le facem. De aceea au pus gumă de șters pe creioane. Și acest lucru nu este diferit cu instrumente precum Git. În timp ce unele modificări pot fi dificil de anulat, există de obicei o modalitate.

Deci, ce se întâmplă dacă doriți să modificați un mesaj de confirmare existent? Din fericire, acest lucru este simplu de făcut în Git, dar metoda se poate schimba puțin în funcție de unii factori.

Remediați ultima comitere, neîmpinsă încă la distanță

Acesta este cel mai simplu caz, deoarece nu este nevoie să modificați un depozit de la distanță, trebuie doar să îl modificați pe al dvs. În acest caz, puteți utiliza următoarea comandă:

$ git commit --amend

Rularea acestei comenzi va deschide un editor unde puteți modifica ultimul mesaj de comitere. Odată ce ați terminat și salvați/închideți editorul, mesajul de confirmare va fi schimbat.

Personal, prefer să fac majoritatea lucrurilor pe linia de comandă, pe care le puteți face adăugând un argument și un mesaj la comanda de mai sus:

$ git commit --amend -m "Added a new file"

Făcând acest lucru, nu va deschide editorul, ci va modifica imediat mesajul de confirmare.

Remediați ultima comitere, împins la distanță

Acesta este un alt caz obișnuit și este puțin mai dificil de remediat, nu numai pentru că trebuie să ne modificăm propriul depozit, dar trebuie să modificăm și depozitul de la distanță, care ar putea fi mai departe decât filiala locală.

Primul pas este modificarea ultimului commit, la fel cum am făcut în secțiunea anterioară:

$ git commit --amend -m "Added a new file"

Apoi, trebuie să împingeți aceste modificări în depozitul de la distanță. Cu toate acestea, acest lucru trebuie făcut folosind --force steag.

$ git push <remote> <branch> --force

Trebuie să facem acest lucru pentru a suprascrie depozitul de la distanță cu propriul nostru stat local.

Fii conștient de faptul că forțând împingerea, vei face și tu pierde orice comite pe filiala locală pe care nu le aveți deja în filiala locală. Procedați cu prudență!

Consultați ghidul nostru practic și practic pentru a învăța Git, cu cele mai bune practici, standarde acceptate de industrie și fisa de cheat incluse. Opriți căutarea pe Google a comenzilor Git și de fapt învăţa aceasta!

Dacă puteți înțelege greșeala suficient de repede, atunci efectuarea schimbării nu va fi o problemă. În caz contrar, poate fi necesar să găsiți o altă soluție pentru a evita pierderea modificărilor făcute după mesajul de confirmare pe care doriți să-l modificați.

Utilizați Rebase interactiv

O altă opțiune, care este mai flexibilă decât soluțiile descrise anterior, este utilizarea unei rebaze interactive. Acest lucru vă permite să inspectați ultimele N comite și să le faceți modificări, inclusiv strângerea, strivirea etc.

Pentru a porni rebaza, puteți folosi următoarea comandă:

$ git rebase -i HEAD~n

Aici, n este numărul de comiteri pe care doriți să le inspectați și să le editați. Veți vedea apoi o listă de comiteri, similară cu aceasta:

$ $ git rebase -i HEAD~4
pick 788ebf0 Oops, I forgot to add a new file
pick ced1329 Fixed a super critical bug
pick 5e9cdc5 Added a new file



















După cum puteți vedea, toate ultimele N comite-uri sunt listate și le puteți modifica mesajele după cum este necesar.

Timestamp-ul:

Mai mult de la Stackabuse