在mercurial中是否有使用git revert的简单等价物?显然hg revert
是签出某个文件的意思,我没有找到如何添加提交(git cherry-pick
)或应用提交的反向差异(git revert
)的明确答案
我想要将一些提交转换为默认分支,这些提交被推出一段时间,而不是在之前或之后反转 - 所以hg退出,或者hg revert似乎不是正确的命令。
答案 0 :(得分:4)
Git-Hg Rosetta Stone通常是一个很好的资源,但它无法处理您正在寻找的案例。正如torek所说,http://www.wikivs.com/wiki/Git_vs_Mercurial是另一种资源。
等同于git cherry-pick
的是hg graft
。
相当于git revert
确实是hg backout
- 你似乎误解了它在某种程度上的作用。 hg backout
将创建一个新的变更集,以反转单个先前变更集中的更改。由于您刚才谈到变更集,hg backout
会将更改合并到您的工作目录中(首先执行hg update -C
),您必须手动提交。
BTW hg revert
将检出处于另一个变更集状态的一个或多个文件(默认情况下,工作目录的变更集最后更新为)。这包括索引状态,例如如果未在当前变更集中跟踪该文件,则会在添加的状态中恢复该文件。
答案 1 :(得分:1)
每http://www.wikivs.com/wiki/Git_vs_Mercurial个等价物分别为hg graft
和hg backout
。
为什么你认为退出不是你想要的?它基本上是旧提交的反向补丁(但在大多数情况下不会自动提交)。