Załóżmy, że pracujesz nad kodem w usłudze Git i coś poszło nie tak, jak zaplanowano. Więc teraz musisz cofnąć swój ostatni commit. Jak to zrobić? Dowiedzmy Się!
Istnieją dwa możliwe sposoby cofnięcia ostatniego zatwierdzenia. Przyjrzymy się im obu w tym artykule.
Polecenie revert
Polecenie revert
will create a commit that reverts the changes of the commit being targeted. You can use it to revert the last commit like this:
git revert <commit to revert>
Możesz znaleźć nazwę zatwierdzenia, które chcesz przywrócić, używając git log
. Pierwszy opisany tam commit jest ostatnim utworzonym commitem. Następnie możesz skopiować stamtąd nazwę alfanumeryczną i użyć jej w revert
poleceniu.
Polecenie reset
Możesz również użyć polecenia, reset
aby cofnąć ostatnie zatwierdzenie. Ale bądź ostrożny – zmieni to historię commitów, więc powinieneś używać go rzadko. Przeniesie HEAD, gałąź roboczą, do wskazanego commita i odrzuci wszystko, co po:
git reset --soft HEAD~1
Opcja --soft
oznacza, że nie utracisz niezatwierdzonych zmian, które możesz mieć.
Jeśli chcesz zresetować do ostatniego zatwierdzenia, a także usunąć wszystkie nieprzygotowane zmiany, możesz użyć --hard
opcji:
git reset --hard HEAD~1
Spowoduje to cofnięcie ostatniego zatwierdzenia, ale także wszelkich niezatwierdzonych zmian.
Czy powinieneś używać reset
czy revert
w Git?
Tak naprawdę powinieneś używać reset
tylko wtedy, gdy resetowany commit istnieje tylko lokalnie. To polecenie zmienia historię zatwierdzeń i może zastąpić historię, od której zależy zdalny członek zespołu.
revert
instead creates a new commit that undoes the changes, so if the commit to revert has already been pushed to a shared repository, it is best to use revert
as it doesn't overwrite commit history.
Wniosek
: Nauczyłeś się dwóch sposobów cofania ostatniego commita, a także tego, kiedy najlepiej jest użyć jednego z nich.
Teraz, jeśli zauważysz, że Twój ostatni commit wprowadza błąd lub nie powinien zostać zatwierdzony, wiesz, jak to naprawić!