git等价于hg rollback

时间:2011-02-02 23:34:03

标签: git

如何在不删除任何更改的情况下“回滚”git中的最后一次提交?

这是我在hg中经常做的事情:

  • 提交“固定107。”
  • 记得我忘了做某事
  • hg rollback
  • 某事
  • 提交“固定107。”

4 个答案:

答案 0 :(得分:18)

使用git,在这种情况下你可能更愿意使用--amend选项。

  • 提交“固定107。”
  • 记得我忘了做某事
  • 做点什么
  • git commit --amend并编辑笔记

如果您因其他原因需要回滚,请查看git revert

答案 1 :(得分:18)

试试这个:

git reset --soft HEAD^

我发现它与' hg rollback'相同,因为:

  • 上次提交已取消
  • 保留更改
  • 先前提交的
  • 文件已暂存

您还可以创建一个rollback git别名,如下所示:

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

因此,您现在只需键入git rollback即可获得与Mercurial完全相同的命令。

答案 2 :(得分:3)

在这个特定情况下,我会git commit --amend。如果您尚未推送并且您已经提交了其他更改,那么您还可以使用git rebase -i编辑您想要的任何提交。

答案 3 :(得分:1)

我试图在我的git存储库中进行hg回滚,然后使用

进行管理
git reset HEAD~

这使我在工作目录中进行了更改,但现在已取消暂停。 Source