如何让Git将文件视为二进制文件?

时间:2012-06-22 18:44:08

标签: git

中型项目存在问题,因为git将它们视为文本和合并,因此Visual Studio项目文件一直存在问题。我想将文件设置为二进制文件,以便git不会自动合并这些文件。

有办法做到这一点吗?

2 个答案:

答案 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