edytowany plik i tak:Jak mogę cofnąć moje ostatnie dodanie/zatwierdzenie git?
git add file.py
git commit -m 'fixed bug'
I następnie edytować inny plik i przeprowadzono drobne poprawki błędów. Nie chcę dwóch commitów, jeden po drugim, pokazujących "naprawę błędów". Chcę jeden commit z "poprawkami błędów".
Jak mogę cofnąć ostatnie dodanie/zatwierdzenie i zmienić pierwszy komunikat zatwierdzenia?
Szukałem na git reset
, git revert
, git undo
poleceń ale ja nie chcę zepsuć mojego repo z przypuszczeniem
EDIT: Okazało się, jak to zrobić: http://www.gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html
Z dwoma plikami I, które edytowałem, już zrobiłem 'git add file; git commit'. Czy zrobienie 'git --amend -m 'asd'' wystarczy edytować poprzedni komunikat zatwierdzenia, czyż nie? Zostawiasz pierwsze zatwierdzenie w dzienniku? – dave
Nie, '--amend' dodaje zawartość indeksu do nowo utworzonego zatwierdzenia. Stare zatwierdzenie znika (staje się zwisające). Możliwe, że nadal możesz go zobaczyć w gitk, uruchom ponownie (Ctrl + F5) w gitk, aby zniknął. Zwisające zatwierdzenie zniknie z pamięci później ('git gc' powinno to wyczyścić). – Gauthier
czy popełniłeś już dwa razy? W takim przypadku możesz poprzedzić powyższe polecenia funkcją 'git reset HEAD ^'. Zrób kopię zapasową repo przed zrobieniem tego wszystkiego (upewnij się, że folder .git jest w kopii zapasowej), nie chcę być odpowiedzialny za utratę danych. – Gauthier