我有一个文件调用a.uni,我必须合并解决方案。 但是git将a.uni视为二进制文件。 当我合并解决方案时,它总是显示:
警告:无法合并二进制文件:a.uni(HEAD与549af46 ...测试) 错误:无法应用549af46 ...测试 提示:解决冲突后,标记更正的路径 提示:使用'git add'或'git rm' 提示:并使用'git commit'提交结果 别人能帮帮我!!! 非常感谢。
答案 0 :(得分:4)
由于您的.uni
文件实际上是一个文本文件,我认为它必须包含一些NUL字符(请参阅“How to determine if Git handles a file as binary or as text?”)。
这取决于您希望如何管理合并。
如“Tell git not to merge binary files but to choose”中所述,您可以在.gitattributes
文件中指定合并管理器,该文件将根据您的策略进行合并。
至少,如在“why does git treat some cpp files as binary?”中,您可以尝试指定(仍然是.gitattributes
文件):
*.uni -text crlf diff
对于Unicode文件,查看“Can I make git recognize a UTF-16 file as text?”,您可以:
git config --global diff.tool vimdiff ; git difftool commit1 commit2
您还应该确保:
答案 1 :(得分:0)
.uni文件的编码类型是否发生了变化(例如UTF-8为ANSI)? Git似乎无法比较/合并不同编码类型的文件。请参阅answer I gave on this post。