Я хотел бы отменить мой вывод git из-за нежелательных коммитов на удаленном источнике, но я не знаю, к какой ревизии я должен вернуться к reset.
Как я могу вернуться к состоянию до того, как я нажму git на удаленном источнике?
Я хотел бы отменить мой вывод git из-за нежелательных коммитов на удаленном источнике, но я не знаю, к какой ревизии я должен вернуться к reset.
Как я могу вернуться к состоянию до того, как я нажму git на удаленном источнике?
Или сделать его более явным, чем другой ответ:
git pull
возгласы?
git reset --keep [email protected]{1}
Версии git старше 1.7.1 не имеют --keep
. Если вы используете такую версию, вы можете использовать --hard
- но это опасная операция, потому что она теряет локальные изменения.
ORIG_HEAD - это предыдущее состояние HEAD, заданное командами, которые могут иметь опасное поведение, чтобы их было легко вернуть. Теперь менее полезно, что git имеет reflog: HEAD @{1} примерно эквивалентен ORIG_HEAD (HEAD @{1} всегда является последним значением HEAD, ORIG_HEAD является последним значением HEAD перед опасной операцией)
git reflog show
должен показать вам историю HEAD. Вы можете использовать это, чтобы выяснить, где вы были до 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#>
Вы можете просто выполнить команду J для файлов, которые вам не нужны. который покажет последний обновленный код. Надеюсь, что это поможет вам !