如何配置Git忽略对行结尾的更改?

时间:2014-08-23 10:13:19

标签: php git newline line-endings

我们的一位开发人员'文本编辑器弄乱了PHP文件的行结尾。我们已经尝试了所有设置,但编辑器似乎仍然用LF保存替换CR-LF&。

当然,最明智的做法是用一个像样的编辑器替换编辑器,但我认为:为什么不配置Git来处理行结尾的差异?在这里,我被卡住了;我无法让它正常工作,我喜欢你的建议。

我们查看的文件似乎有CR-LF行结尾。当我们的开发人员编辑并存储它们时,它们也具有LF结尾。提交文件时,不仅行更改,而且每行都被删除并重新插入。

我已将core.autocrlf设为true。提交时,我收到警告,所有LF都将被CR-LF取代。该文件将在您的工作目录中具有原始结尾。但是,所有行都被移除并再次添加。当与另一个分支合并时,这会产生冲突。

我尝试使用.gitattributes制作*.php text文件。与core.autocrlf相同的结果。

所以我的问题是:有没有办法配置Git只提交我们程序员所做的更改,而只留下只有行结尾发生变化的行?

1 个答案:

答案 0 :(得分:0)

根据我对文档的记忆,你无法做到这一点。

但是,配置允许您忽略特定的行结尾。

如果要使用LF行结尾在存储库中存储所有文件,请运行:

git config --system core.autocrlf false git config --system core.eol lf

此外,您可能希望确保将全局,系统和本地配置设置为您要实现的目标:

git config --global -l git config --system -l git config --local -l