如何在Git中"hg backout X"?

cul*_*rón 10 git version-control mercurial backout

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

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

oua*_*uah 12

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

git revert <commit_hash>
Run Code Online (Sandbox Code Playgroud)

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

如果要通过重写历史记录来擦除特定提交,可以执行以下操作:

git rebase -i <commit_hash>^
Run Code Online (Sandbox Code Playgroud)

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


Stu*_*etz 8

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

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

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

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

  • 如果你想完全摆脱头部的n次提交,你可以选择`git rebase`:`git reset --hard HEAD~n` (3认同)