Отмена git pull --rebase - PullRequest
       78

Отмена git pull --rebase

41 голосов
/ 06 февраля 2010

Эй, я новичок в Git и мне нужно отменить тягу, кто-нибудь может помочь?!? Итак, что я сделал, это ...

  1. git commit
  2. git stash
  3. git pull --rebase
  4. git stash pop

это создало кучу конфликтов и пошло не так. Теперь выполнение «git stash list» показывает, что мой тайник все еще там. Возможно ли вернуть мой репо обратно в точку сразу после выполнения git commit. Таким образом, мой репо содержит только те изменения, которые я сделал, и ничего нового с сервера?

Ответы [ 4 ]

89 голосов
/ 08 февраля 2010

На самом деле, чтобы сделать это проще, Git сохраняет ссылку с именем ORIG_HEAD, которая указывает, где вы были до ребазинга. Итак, это так же просто, как:

git reset --hard ORIG_HEAD
44 голосов
/ 06 февраля 2010

с помощью git reflog вы увидите список коммитов, на которые указывал HEAD в прошлом

с помощью

git checkout -b after-commit HEAD@{1} # or the commit you want to recover

вы создаете новую ветку в этой точной позиции и проверяете ее

5 голосов
/ 11 января 2012

Вы должны проверить команду

git reset --merge

Это устраняет необходимость в git commit; git stash перед попыткой (хотя не знаю о перебазировании)

Команда возвращает рабочее пространство с незафиксированными изменениями состояния до конфликтного извлечения.

0 голосов
/ 06 февраля 2010

Используйте git log -g и найдите индекс фиксации, к которому вы хотите вернуться, просто сделайте git checkout index

...