【问题标题】:Why does 'git mergetool' (meld) show conflict markers?为什么“git mergetool”(融合)显示冲突标记?
【发布时间】:2011-11-22 00:48:24
【问题描述】:

为什么 'git mergetool' (meld) 向我显示带有冲突标记的祖先视图?这是完全错误的,我一直不明白为什么会这样。我该如何解决?

应该显示 3 路合并

[ Your Changes ]          [ Common Base ]            [ Upstream Changes ]

我得到的是:

[ My Changes   ]   [ File with Conflict markers ]    [ Upstream changes ]

见:

【问题讨论】:

    标签: git version-control merge meld 3-way-merge


    【解决方案1】:

    看起来您没有在配置中正确完成参数名称。您应该会看到 $BASE、$REMOTE 等内容。确保这些内容与“meld”文档中指定的内容一致

    您无意中提交了一个未解析的文件。要检查这一点,请执行git log -S'<<<<<<' 并查看是否有任何返回。如果是,那么就是这种情况。

    希望对你有帮助

    【讨论】:

    • 绝对不是第二种选择,但它是一种有效的可能性。
    • 好的。我会接受作为答案。虽然不太正确,但它是对问题的正确解释。基本问题是 meld 只接受 3 个参数。 $LOCAL $REMOTE 和 $BASE。合并后的结果需要写入 $MERGED,但这是 Git 添加了冲突标记的文件。 Meld 不支持将合并结果保存到 NEW 文件,因此必须使用 $MERGED 文件而不是 $BASE。 -- 这是 meld 的标准配置 -- 这是完全错误的,不必要的混乱。它可以通过脚本来解决,但我现在正在使用 SourceGear DiffMerge。
    • 脚本似乎不起作用,Meld 显示的是目录而不是文件的比较。
    • 好吧,看看你能不能解决它。它 WFM :-)
    猜你喜欢
    • 2020-07-21
    • 2014-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-17
    • 2022-12-18
    相关资源
    最近更新 更多