git - 我如何在 Mercurial 上执行 git reset --hard HEAD?

标签 git mercurial merge dvcs

我是一名尝试使用 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/

相关文章:

eclipse - pull 远程分支后进行大量 git 提交

mercurial - 如何在 Snow Leopard 10.6.6 上默认禁用 easy_install 或 pip 构建 ppc?

python - 如何通过相等的索引和列名将空数据框与另一个填充的数据框合并/连接?

git - 无效 : is this a git repository?

git - 将 git 与 BitBucket 结合使用

git - 如何使用 git 完成与 mercurial 相同的工作流程?

git - hg-git push 悄无声息地失败了

windows - 在powershell中合并2个csv文件

git - 如何在 git 中 merge cherry-picked 提交?

java - 引导项目 merge 新变化