Git эквивалент для отката hg
Как мне "откат" последней фиксации в git без удаления каких-либо изменений?
Это то, что я часто делал в hg:
- Commit "Fixed 107."
- Вспомнил, что я забыл что-то сделать
- hg rollback
- Сделайте что-нибудь
- Commit "Fixed 107."
Ответы
Ответ 1
С git вы можете предпочесть использовать опцию --amend
в этом случае.
- Commit "Fixed 107."
- Вспомнил, что я забыл что-то сделать
- Сделайте что-нибудь
-
git commit --amend
и отредактируйте заметки
Если вам нужно откат по другим причинам, посмотрите git revert
Ответ 2
Попробуйте следующее:
git reset --soft HEAD^
Я нашел, что это то же самое, что и "hg rollback", потому что:
- последняя фиксация отменена
- сохранены изменения
- ранее сохраненные файлы
Вы также можете создать псевдоним rollback
git следующим образом:
git config --global alias.rollback 'reset --soft HEAD^'
Итак, теперь вы можете просто набрать git rollback
точно такую же команду, что и у Mercurial.
Ответ 3
В этом конкретном случае я бы git commit --amend
. Если вы еще не нажали, и вы уже совершили другие изменения, вы также можете использовать git rebase -i
для редактирования того, что вы хотите.
Ответ 4
Я пытался выполнить откат hg в моем репозитории git, и мне удалось использовать
git reset HEAD~
это оставило меня с моими изменениями в рабочем каталоге, но теперь неустановлено. Источник