131

中型项目存在问题,其中 Visual Studio 项目文件由于 git 将它们视为文本并合并而不断出现问题。我只想将文件设置为二进制文件,这样 git 就不会自动合并这些文件。

有没有办法做到这一点?

4

2 回答 2

162

是的,使用属性。在您的.gitattributes文件中放入类似的内容(如果它不存在则创建它):

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

这里binary其实是一个预定义的宏,相当于-diff -merge -text.

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

*.sln -merge -text

这样,*.sln文件不会被合并,不会被 eol 标准化,但同时可以区分。

于 2012-06-22T18:50:02.240 回答
10

您应该在文件中定义二进制文件属性.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   
于 2017-06-06T11:44:54.157 回答