基于这篇文章:
`.gitattributes` 文件中的 `text=auto` 的目的是什么?
如果在 .gitattributes 文件中有以下内容,则文本文件的行结尾会转换为 LF:
在 .gitattributes 文件中:
实际上意味着当您进行检出操作(下次从存储库检出文件到您的工作目录时),当前使用LF结尾的文本文件将被转换为使用CRLF结尾。
警告并未解决在检入操作中行末使用LF的问题,这正是文档所说的。
* text=auto
我刚在本地存储库上进行了测试:
$ git add -A
warning: LF will be replaced by CRLF in [bla]/.gitattributes.
The file will have its original line endings in your working directory.
warning: LF will be replaced by CRLF in [bla]/.gitignore.
The file will have its original line endings in your working directory.
warning: LF will be replaced by CRLF in [bla]/README.md.
The file will have its original line endings in your working directory.
warning: LF will be replaced by CRLF in [bla].csproj.
The file will have its original line endings in your working directory.
warning: LF will be replaced by CRLF in
但是这里说它会转换为CRLF。在上面的帖子中,它说它会转换为LF,但在这个测试中并不是这样。
所以看起来:
* text=auto
将根据操作系统转换为相应的行尾类型(Windows为CRLF,Linux为LF)。但这不是本文所描述的内容:
https://www.kernel.org/pub/software/scm/git/docs/gitattributes.html
根据以下评论/答案,似乎出现以下情况会导致警告:* text=auto
在 .gitattributes 文件中:
warning: LF will be replaced by CRLF in [bla]/README.md.
The file will have its original line endings in your working directory.
实际上意味着当您进行检出操作(下次从存储库检出文件到您的工作目录时),当前使用LF结尾的文本文件将被转换为使用CRLF结尾。
警告并未解决在检入操作中行末使用LF的问题,这正是文档所说的。
https://www.kernel.org/pub/software/scm/git/docs/gitattributes.html
设置为字符串值 "auto" 当文本设置为 "auto" 时,路径被标记为自动换行符规范化。如果 Git 决定内容是文本,则在提交时将其行结尾规范化为 LF。
text=auto
引起的,但是text=auto
有效地与您之前设置的其他选项进行交互。其他问题涵盖了这些其他选项。 - user743382