Cum modifici mesajele de commit ale unor commit-uri Git din trecut

1. Cum schimbi mesajul de commit al ultimului commit

În următorul mod poți preciza noul mesaj de commit în linia de comandă:
git commit –amend -m "Mesaj nou"
În următorul mod se deschide un editor (de exemplu Vim) pentru editarea mesajului de commit anterior:
git commit –amend -e 
2. Cum schimbi mesajele de commit ale unor commit-uri din trecut (unul sau mai multe)

Această metodă funcționează doar dacă nu s-a făcut push la commit-urile respective sau dacă este vorba doar despre un depozit git local fără remote-uri.
git rebase -i X
unde X este ID-ul commit-ului aflat în cronologia commit-urilor chiar înainte de primul commit al cărui mesaj vrei să îl schimbi, și care se poate afla executând:
git log
În loc de ID-ul commit-ului poate fi (și deseori e mai folositor) un reper de tipul HEAD, HEAD~1 (commit-ul dinaintea ultimului commit), HEAD~2 (commit-ul dinaintea penultimului commit) etc.

Această comandă (rebase) va deschide editorul de text configurat pentru asta (de exemplu Vim) cu o listă de commit-uri, câte unul pe fiecare rând, și la începutul fiecărui rând va fi precizată comanda „pick” care înseamnă că acel commit nu va dispărea în urma rebase-ului.



Commit-urilor cărora doriți să le schimbați mesajul de commit schimbați-le comanda „pick” în „reword”, salvați fișierul și ieșiți din editor.



După ieșirea din editor, pentru fiecare commit la care s-a setat comanda „reword” se va deschide iar editorul pe rând cu vechiul mesaj de commit și aveți posibilitatea de a scrie un alt mesaj de commit sau să îl modificați pe cel vechi.

E important de menționat că rebase-ul va schimba ID-ul commit-urilor modificate deci trebuie făcut cu grijă când commit-urile se află și pe un server, deci nu sunt doar locale.

Dacă aveți întrebări sau sugestii, vă rog să scrieți comentarii mai jos.

Niciun comentariu:

Trimiteți un comentariu