我怎么能告诉Git真的不关心行结尾?将它们保留为原来的LF或CRLF,并以同样的方式检查它们?
我正在使用带git-tf的Git存储库来签入TFS存储库。我团队的其他成员只使用TFS。
在这种情况下,有时他们会在不知情的情况下改变行结尾。例如,最近第三方工具将其行结尾标准化,以及其他变化。我们的repo已经更新了这些更改,现在由于行结尾不同,文件显示在我的目录中有更改。
对于这个特定的存储库,我真正想要的是让Git假装行结束变更不存在。如果是LF,请将其保留为LF。如果是CRLF,请将其保留为CRLF。
为了做到这一点,我需要哪些设置或设置组合?
答案 0 :(得分:18)
供将来参考:实现此目的最稳定的方法是使用在git存储库的根目录中提交的 .gitattributes 文件。
此文件应包含以下内容:
# no eol conversions!
* -text
这意味着以下内容:
注意:使用" text = auto"意味着:在签出文件上使用原生行尾格式(对于看起来像文本的任何东西)并将其存储为" LF"内部。
这很强大,因为克隆存储库的每个人都将使用相同的设置。 (使用core.autocrlf时不是这种情况。)
另见Git documentation on gitattributes(效果:文字)。
答案 1 :(得分:0)
也许你正在寻找这个
git config --global core.autocrlf false