我是一名尝试使用 Mercurial 的 Git 用户。
事情是这样的:我对我想还原的变更集执行了 hg backout
。这创造了一个新的头,所以 hg 指示我 merge (回到“默认”,我假设)。 merge 后,它告诉我我仍然必须提交。然后我注意到我在解决 merge 中的冲突时做错了什么,并决定我希望一切都像 hg backout
之前一样,也就是说,我希望这个未提交的 merge 消失。在 Git 上,这个未提交的东西会在索引中,我只是做一个 git reset --hard HEAD
来清除它,但是,据我所读,索引不存在 Mercurial 。那么我该如何退出呢?
最佳答案
如果您还没有提交,而且看起来您还没有提交,您可以使用 hg update --clean
撤消所有 merge 工作。
但是,在较新的 mercurial 中,有一个方便的命令可以重新 merge 单个文件:hg resolve path/to/file.ext
。来自 hg help resolve
:
The available actions are: ... 4) discard your current attempt(s) at resolving conflicts and
restart the merge from scratch: "hg resolve file..." (or "-a" for all unresolved files)
关于git - 我如何在 Mercurial 上执行 git reset --hard HEAD?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2672454/