Jak cofnąć git pull?
Chciałbym cofnąć mój git pull z powodu niechcianych commitów na zdalnym origin, ale nie wiem, do której wersji mam wrócić.
Jak mogę po prostu wrócić do stanu, zanim wykonałem git pull na zdalnym początku?
4 answers
Lub aby było to bardziej jednoznaczne niż druga odpowiedź:
git pull
UPS?
git reset --keep HEAD@{1}
Wersje Gita starsze niż 1.7.1 nie posiadają --keep
. Jeśli używasz takiej wersji, możesz użyć --hard
- ale jest to operacja niebezpieczna, ponieważ traci wszelkie lokalne zmiany.
Do komentatora
ORIG_HEAD to poprzedni stan głowy, ustawiany przez polecenia, które mają prawdopodobnie niebezpieczne zachowanie, aby łatwo je przywrócić. Jest mniej przydatne teraz, gdy Git ma reflog: HEAD@{1} jest w przybliżeniu odpowiednikiem ORIG_HEAD (HEAD@{1} jest zawsze ostatnią wartością HEAD, ORIG_HEAD jest ostatnią wartością HEAD przed niebezpieczną operacją)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-05 06:55:33
git reflog show
powinien pokazać ci historię głowy. Możesz użyć tego, aby dowiedzieć się, gdzie byłeś przed pull
. Wtedy możesz reset
swoje HEAD
do tego zobowiązania.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-28 08:01:19
To mi pomogło.
git reset --hard ORIG_HEAD
Cofnij połączenie lub pociągnij:
$ git pull (1)
Auto-merging nitfol
CONFLICT (content): Merge conflict in nitfol
Automatic merge failed; fix conflicts and then commit the result.
$ git reset --hard (2)
$ git pull . topic/branch (3)
Updating from 41223... to 13134...
Fast-forward
$ git reset --hard ORIG_HEAD (4)
Sprawdź to: HEAD i ORIG_HEAD w Git aby dowiedzieć się więcej.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:26:31
Znajdź <SHA#>
dla commit, który chcesz przejść. Możesz go znaleźć w github lub wpisując git log
lub git reflog show
w wierszu poleceń, a następnie wykonaj
git reset --hard <SHA#>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-28 17:54:28