为什么BeyondCompare 4 / Git尝试在二进制文件上执行文本差异?

时间:2015-05-06 07:50:58

标签: git msysgit beyondcompare4

我正在尝试合并一个具有不同.NET .dll.pdb的分支,而git / BC4正在尝试对文件进行文本合并,而不是让我选择本地vs远程

我以前从未经历过这种情况,可能是我改变了一些设置或BC4与BC3有一些区别。

我的相关.gitconfig

[merge]
    tool = bec3
    renamelimit = 2000
[mergetool]
    prompt = false
    keepBackup = false
[mergetool "bec3"]
    cmd = \"C:/Program Files (x86)/Beyond Compare 4/bcomp.exe\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\"
    trustExitCode = true

我正在使用msysgit 1.9.5和Beyond Compare 4.0.3

编辑:我不想二进制合并,git过去只是让我选择本地或远程文件来解决冲突。我的问题是“这是一个git设置(如果是,什么?)或BC设置?”

1 个答案:

答案 0 :(得分:1)

超越比较并不支持合并二进制文件。某些版本控制系统允许您根据文件扩展名定义不同的合并工具,为二进制文件和文本文件调用不同的合并工具。我不认为Git提供了一种方法。

您必须在Beyond Compare之外合并二进制文件。

解决与.dll文件的存储库版本的冲突:

    git checkout --theirs -- file.dll
    git add file.dll
    git commit

要解决与您的.dll文件版本的冲突:

    git checkout --ours -- file.dll
    git add file.dll
    git commit

我将二进制文件合并添加到我们的功能愿望清单中,以便将来版本的Beyond Compare。