我一直在清理我公司的LF规范化存储库,在此处遵循此方法,一直到git status
:https://stackoverflow.com/a/4683783/1827734
我在.gitattributes
文件中使用了这组设置:
* text=auto
*.sln text eol=crlf
*.asax text eol=crlf
*.cs text eol=crlf diff=csharp
*.csproj text eol=crlf
代码库主要是java文件,但有一些C#文件(.cs,.sln等),git试图将其标记为已更改。我可以验证它是CRLF - >代码库中其他文件的LF转换,因为在git diff
时显示警告,但没有针对这些文件的警告(如预期的那样)。我已经尝试过使用像Meld这样的其他差异程序,看看它们是否显示其他东西(使用cat和管道到pbcopy,确保显示空白差异),它们被报告为相同。当我使用--ignore-space-at-eol
或--ignore-space-change
标志时,没有差异显示,所以它让我相信在git看到的地方有一些空白区域变化,但我甚至看不出在那之后怎么可能使用不同的差异程序。
我唯一猜到的是文件开头的BOM字符;这是唯一与这些文件不同的东西,但显示的值也是相同的:
使用: * OSX 10.10.5 * git版本2.3.8(Apple Git-58)