有一个问题与一个中等规模的项目,其中视觉工作室的项目文件一直有问题,因为 git 处理他们作为文本和合并。我想只设置二进制文件,这样 git 就不会自动合并这些文件了。
有办法吗?
是的,使用 属性。在 .gitattributes文件中放入类似的内容(如果不存在则创建它) :
.gitattributes
*.sln binary *.suo binary *.vcxproj binary
这里是 binary实际上是一个预定义的宏,相当于 -diff -merge -text。
binary
-diff -merge -text
如果你想仍然能够看到差异,你可以使用:
*.sln -merge -text
这样,*.sln文件将不会被合并,没有 eol 规范化,但同时差异。
*.sln
您应该在 .gitattributes文件中定义二进制文件属性(如果它不存在,则创建它) ,将这些行放入其中,以防止它将其作为文本 diff 文件处理:
# 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