Как отменить git pull?



Я хотел бы отменить мой git pull из-за нежелательных коммитов на удаленном источнике, но я не знаю, к какой ревизии мне нужно вернуться.



Как я могу просто вернуться в состояние, прежде чем я сделал git тянуть на удаленном происхождении?

1123   4  

4 ответов:

или сделать его более явным, чем другой ответ:

git pull 

упс?

git reset --keep HEAD@{1}

версии git старше 1.7.1 не имеют --keep. Если вы используете такую версию, вы можете использовать --hard - но это опасная операция, потому что она теряет любые локальные изменения.


до комментария

ORIG_HEAD-это предыдущее состояние головы, заданное командами, которые могут иметь опасное поведение, чтобы было легко их вернуть. Это менее полезно теперь, когда Git имеет reflog: HEAD@{1} примерно эквивалентно ORIG_HEAD (HEAD@{1} всегда последнее значение HEAD, ORIG_HEAD-последнее значение HEAD перед опасной операцией)

git reflog show должен показать вам историю из головы. Вы можете использовать это, чтобы выяснить, где вы были до pull. Тогда вы можете reset код HEAD к этой фиксации.

это работает для меня.

git reset --hard ORIG_HEAD 

отменить слияние или тяга:

$ 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)

оформить этот: HEAD и ORIG_HEAD в Git дополнительные.

найти <SHA#> для фиксации вы хотите пойти. Вы можете найти его в github или набрав git log или git reflog show в командной строке и затем сделать git reset --hard <SHA#>

Comments

    Ничего не найдено.