如何在不删除更改的情况下“回滚”git中的最后一次提交?
这是我经常在hg中做的事情:
- 提交“已修复107。”
- 记得我忘记做了 某件事情
- hg rollback
- 做 某件事情
- 提交“已修复107。”
如何在不删除更改的情况下“回滚”git中的最后一次提交?
这是我经常在hg中做的事情:
试试这个:
git reset --soft HEAD^
我发现这与 'hg 回滚' 相同,因为:
您还可以像这样创建一个名为 rollback
的 git 别名:
git config --global alias.rollback 'reset --soft HEAD^'
所以现在你只需要键入 git rollback
就能得到与Mercurial上完全相同的命令。
如果你使用git,那么在这种情况下,你可能更喜欢使用--amend
选项。
git commit --amend
并编辑注释如果您需要回滚其他原因,请查看git revert
git commit --amend
。如果您尚未推送并且已经提交了其他更改,则还可以使用git rebase -i
编辑您想要的任何提交。
git revert
。如果它尚未被推送,并且它是最近的提交,请使用git reset [--hard] HEAD^
。如果它尚未被推送,并且它不是最近的提交,请使用git rebase -i
将其从历史记录中删除,让其余内容保持不变。 - Cascabelgit reset HEAD^
不应该这样做,如果你同时使用--hard
标志,它只会修改你工作目录中的文件。 - dubiousjim