如何在Git中“hg backout X”?

时间:2012-01-02 16:24:05

标签: git version-control mercurial backout

我必须使用Git并且想要撤消在提示之前提交的一些提交。在Hg中它是hg backout。 Git中的模拟命令是什么?

(我发布之前没有看到,也没看到模拟命令。)

3 个答案:

答案 0 :(得分:12)

要还原某些特定提交,您可以使用:

git revert <commit_hash>

这将添加一个恢复commit_hash提交的新提交。

如果要通过重写历史记录来删除特定提交, 你可以这样做:

git rebase -i <commit_hash>^

这将打开一个编辑器。只需删除包含该行的行即可 要删除commit_hash,保存文件并退出编辑器。 rebase将删除commit_hash提交。

答案 1 :(得分:8)

听起来你需要git revert :)或者,如果你想删除所有提交的证据,你可以做一个git rebase来摆脱它。但是如果你已经在可见的地方发布了那个提交,那么要小心,因为你可以为其他人创造问题。

这是一个关于还原的链接:

http://gitready.com/intermediate/2009/03/16/rolling-back-changes-with-revert.html

或者,只需谷歌手册文档。

答案 2 :(得分:3)

这里维护了官方的Git和Hg等效命令:

https://www.mercurial-scm.org/wiki/GitConcepts#Command_equivalence_table

hg backout的等价物是git revert