Подтвердить что ты не робот

Git эквивалент для отката hg

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

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

  • Commit "Fixed 107."
  • Вспомнил, что я забыл что-то сделать
  • hg rollback
  • Сделайте что-нибудь
  • Commit "Fixed 107."
4b9b3361

Ответ 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~

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