在Linux上签出一个项目的代码,每次切换分支时,一些文件会被自动修改。用git diff命令查看,哪些被修改的文件会出现下面的提示:
warning: CRLF will be replaced by LF in {文件名}. The file will have its original line endings in your working directory.
这个项目是在Windows上开发的,Windows上git的配置也没问题:
$ git config --get core.autocrlf true
就这个项目有问题,其它项目正常。
这些出问题的文件是当时在git配置 core.autocrlf 为 false 时提交的,后来虽然将 autocrlf 改为了 true ,但在Windows中提交时没有将这些文件中的 CRLF 替换为 LF ,这个可能是因为在 .gitattributes 文件中配置了 * text=auto ,没有配置 * text eol=lf 。
现在的解决方法是在 Linux 上将这些 CRLF 被替换为 LF 的文件作为修改版本进行提交。
类似这样的