GIT-эквивалент для отката HG - PullRequest
20 голосов
/ 03 февраля 2011

Как бы я "откатил" последний коммит в git без удаления каких-либо изменений?

Это то, что я часто делал в hg:

  • Commit "Исправлено 107."
  • Вспомнил, что я забыл сделать что-то
  • откат рт
  • Сделать что-то
  • Commit"Исправлено 107. "

Ответы [ 4 ]

18 голосов
/ 17 июня 2014

Попробуйте это:

git reset --soft HEAD^

Я обнаружил, что это то же самое, что и 'hg rollback', потому что:

  • последний отмененный коммит
  • изменения сохранены
  • ранее зафиксированные файлы размещаются

Вы также можете создать rollback псевдоним git следующим образом:

git config --global alias.rollback 'reset --soft HEAD^'

Итак, теперь вы можете просто набрать git rollback иметь точно такую ​​же команду, что и в Mercurial.

18 голосов
/ 03 февраля 2011

С git вы можете предпочесть использовать опцию --amend в этом случае.

  • Фиксация «Исправлено 107».
  • Вспомнил, что забыл что-то сделать
  • Сделай что-нибудь
  • git commit --amend и редактирование заметок

Если вам нужен откат по другим причинам, взгляните на git revert

3 голосов
/ 03 февраля 2011

В этом конкретном случае я бы git commit --amend. Если вы еще не нажали и уже зафиксировали другие изменения, вы также можете использовать git rebase -i для редактирования любого коммита, который вы хотите.

1 голос
/ 19 сентября 2013

Я пытался сделать откат hg в моем git-репозитории, и мне удалось использовать

git reset HEAD~

это оставило меня с моими изменениями в рабочем каталоге, но теперь без изменений. Источник

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...