中型项目存在问题,其中 Visual Studio 项目文件由于 git 将它们视为文本并合并而不断出现问题。我只想将文件设置为二进制文件,这样 git 就不会自动合并这些文件。
有没有办法做到这一点?
中型项目存在问题,其中 Visual Studio 项目文件由于 git 将它们视为文本并合并而不断出现问题。我只想将文件设置为二进制文件,这样 git 就不会自动合并这些文件。
有没有办法做到这一点?
是的,使用属性。在您的.gitattributes
文件中放入类似的内容(如果它不存在则创建它):
*.sln binary
*.suo binary
*.vcxproj binary
这里binary
其实是一个预定义的宏,相当于-diff -merge -text
.
如果您希望仍然能够看到差异,您可以使用:
*.sln -merge -text
这样,*.sln
文件不会被合并,不会被 eol 标准化,但同时可以区分。
您应该在文件中定义二进制文件属性.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