我如何让Git把文件当作二进制文件?

有一个中等规模的项目的问题,视觉工作室项目文件由于git把它们视为文本和合并,不断有问题。 我想只是将文件设置为二进制,以便git不会自动合并这些文件。

有没有办法做到这一点?

是的,使用属性 。 把这样的东西放在你的.gitattributes文件中(如果不存在,就创build它):

 *.sln binary *.suo binary *.vcxproj binary 

这里的binary实际上是一个预定义的macros ,相当于-diff -merge -text

如果你仍然能够看到差异,你可以使用:

 *.sln -merge -text 

这样, *.sln文件将不会合并,没有规范化,但同时diff-able。

你应该在你的.gitattributes文件中定义二进制文件属性(如果不存在,可以创build它),以防止它作为文本差异文件处理:

 # Define binary file attributes. # - Do not treat them as text. # - Include binary diff in patches instead of "binary files differ." *.sln -text diff *.suo -text diff *.vcxproj -text diff *.gif -text diff *.gz -text diff *.ico -text diff *.jpeg -text diff