U. *_*wen 24 git core.autocrlf
有没有办法确定现有git存储库中的行结尾?
如果我克隆现有存储库,如何确定创建者使用了哪个core.autocrlf?
我仍然不确定core.autocrlf的最佳设置,例如在Windows机器上(因为有多种意见: 使用代码分发git配置或https://help.github.com/articles/dealing-with-line-结局)
额外的问题:您是否可以在Windows上(使用标准工具)确定repo是否在所有提交中都有混合行结尾(错误的core.autocrlf设置)?
rob*_*nst 19
要检查存储库中实际提交的行结尾(无论您的core.autocrlf设置如何),请尝试以下操作:
git grep -I --files-with-matches --perl-regexp '\r' HEAD
Run Code Online (Sandbox Code Playgroud)
(-I意味着不应该查看二进制文件.)
正如我在“使用您提到的代码分发 git 配置”中所解释的那样,我仍然会将该设置 ( core.autocrlf)保留false为,并使用gitattributes 指令进行更细粒度的控制。eol
话虽如此,要检测混合行结尾:
core.autocrlf为truegit clone 你的回购git diff:如果差异在您的克隆之后可见……一些自动 eol 转换刚刚在工作树中发生。2016 年更新(4 年后):一种更现代的检测 eol 变化的方法:
git -c color.diff.whitespace="red reverse" diff -R -- afile
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8853 次 |
| 最近记录: |