Answers:
您可以通过将特殊的.gitattributes文件添加到Git存储库的根文件夹来配置每个存储库的行结束处理。如果将此文件提交到存储库,它将覆盖单个开发人员的core.autocrlf设置。
在此文件中,您可以配置Git自动检测行尾。
注意:-并非所有的图形Git工具都支持.gitattributes文件,例如Eclipse IDE当前不支持该文件。
这是一个示例.gitattributes文件。您可以将其用作存储库的模板:
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto
# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
*.c text
*.h text
# Declare files that will always have CRLF line endings on checkout.
*.sln text eol=crlf
# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary
您会注意到文件是匹配的-*。c,*。sln,*。png--,以空格分隔,然后进行设置-文本,文本eol = crlf,二进制。我们将在下面介绍一些可能的设置。
text = auto Git将以其认为最佳的方式处理文件。这是一个很好的默认选项。
文本eol = crlf Git总是在结帐时将行尾转换为CRLF。您应该将此文件用于必须保留CRLF结尾的文件,即使在OSX或Linux上也是如此。例如,这是一个强制执行CRLF行尾的Windows项目。
文本eol = lf Git总是在结帐时将行尾转换为LF。您应该将此文件用于必须保留LF结尾的文件,即使在Windows上也是如此。对于例如,这里是强制LF行结束的项目。
二进制 Git将理解指定的文件不是文本,因此不应尝试更改它们。二进制设置也是-text -diff的别名。