2012-03-16 17 views
5

Witam Chcę cofnąć moje ostatnie zatwierdzenie. To, co zrobiłem, to wprowadziłem pewne zmiany do pliku, a następnie je zatwierdziłem, ale nie popchnęliśmy ich jeszcze do głównego repo. Po git commit -m „komentarz” polecenie wpadłem stan git i dostałem tę wiadomośćJak cofnąć zatwierdzenie

Your branch is ahead of 'origin/demo' by 1 commit 

Więc teraz chcę cofnąć mój ostatni commit tak jak można to zrobić?

+1

[został rozwiązany tutaj] [1] [1]: http://stackoverflow.com/questions/495345/git-removing-selected-commits-from-repository –

Odpowiedz

16

Jeśli chcesz cofnąć całkowicie:

git reset --hard HEAD^ 

Jeśli chcesz cofnąć go i zachować zmiany wystawił (przed popełnić):

git reset --soft HEAD^ 

Jeśli chcesz cofnąć go i zachować pliki zmodyfikowane (przed etapie):

git reset --mixed HEAD^ 
+0

Czy możesz mi powiedzieć, co to jest HEAD? Czy powinienem użyć tego samego polecenia, które tu wpisałeś? – 2619

+0

HEAD to plik, który zawsze odnosi się do ostatniego zatwierdzenia w bieżącej gałęzi, lub jeśli wypisałeś zatwierdzenie (w stanie HEAD oddzielonym) jego wartość to zatwierdzenie. Tak, powinieneś użyć polecenia tak jak jest, zakładając, że nie przełączyłeś gałęzi itp. – ralphtheninja

1

Aby przywrócić swój popełnić tworząc kolejny popełnić (zakładając master jest twój oddział roboczy):

git revert master 

Aby cofnąć go, to znaczy udawać, że to się nigdy nie zdarzyło:

git reset --hard master~