【问题标题】:Why TortoiseHg not show the "merge conflict"?为什么 TortoiseHg 不显示“合并冲突”?
【发布时间】:2010-06-14 07:13:03
【问题描述】:

问题的简短版本:由于我已经有 TortoiseHg,我右键单击该文件试图直观地查看合并冲突,但没有办法看到它?

详情:

为了做一个简单的合并冲突案例,我在 Win 7 上hg init 一个 repo,然后将其克隆到另一个文件夹。

现在,在一个工作目录中,我添加了“代码为 123”这一行,已提交。

在另一个文件夹中,我做了一个“hg pull”和“hg update”

现在,我回到第一个文件夹,将“123”更改为“123abc”,然后执行“hg commit”

然后我去另一个文件夹并在那里将“123”编辑为“123xyz”,然后执行“hg commit”,当“hg push”时,它说它不能。

所以我尝试使用任何可视化工具来查看冲突情况,但是...... TortoiseHg 似乎没有任何选项可以做到这一点?

【问题讨论】:

    标签: mercurial tortoisehg


    【解决方案1】:

    还没有冲突。与 svn 或 cvs 相同,您需要先将更改提取到第二个存储库中,然后才能提交回第一个存储库,这就是造成冲突的原因。在第二个存储库中,您需要

    1. hg pull 从您的第一个存储库中获取 123abc 更改;这将在存储库 2 中创建为新分支
    2. hg merge 合并更改 - 现在有一个冲突需要您解决
    3. hg commit 提交解决冲突

    现在你可以hg push。

    【讨论】:

    • 在 1、2、3 的哪一点,我可以对冲突进行目视检查吗?我实际上做了一个拉...在命令行上,和hg合并,它说它有3个头...如果我使用hg merge -r 14然后kdiff3会弹出...这个kdiff3是TortoiseHg的一部分吗?我有点想在文件上“右键单击”以启动合并工具……但似乎没有办法?
    • kdiff3 包含在 TortoiseHg 中,是的,但您可以将其配置为使用不同的合并工具。冲突只存在于第 2 步;关键是您的冲突更改作为新的分支头导入到存储库中,您必须手动将它们合并在一起(步骤 2)。使用 Tortoise 可以很好地隐藏合并:打开存储库资源管理器,选择您的头版本,然后右键单击导入的分支头。只有这样您才能获得“合并”选项。
    猜你喜欢
    • 1970-01-01
    • 2011-11-22
    • 1970-01-01
    • 1970-01-01
    • 2016-04-07
    • 1970-01-01
    • 2020-07-21
    • 2022-12-18
    • 1970-01-01
    相关资源
    最近更新 更多