中型项目存在问题,因为git将它们视为文本和合并,因此Visual Studio项目文件一直存在问题。我想将文件设置为二进制文件,以便git不会自动合并这些文件。
有办法做到这一点吗?
答案 0 :(得分:110)
是的,使用attributes。将这样的内容放在.gitattributes
文件中(如果它不存在则创建它):
*.sln binary
*.suo binary
*.vcxproj binary
此处为binary
is actually a predefined macro,相当于-diff -merge -text
。
如果您仍希望能够看到差异,可以使用:
*.sln -merge -text
这样,*.sln
文件将不会合并,不会对eol进行规范化,但同时也是差异化的。
答案 1 :(得分:5)
您应该在.gitattributes
文件中定义二进制文件属性(如果它不存在则创建它),方法是将这些行放入其中,以防止它将其作为文本差异文件处理:
# 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