因此,我最近在一个存储库中添加了一个.gitattributes文件,以尝试强制一致的行尾:
# All Perl Sources should use Unix style line endings
*.pl text eol=lf
*.pm text eol=lf
但是我自己和许多其他开发人员都遇到了许多“幻像更改”,即使没有任何更改,git似乎仍将文件检测为“已更改”。每行显示为已添加,然后删除。
我怀疑它对行的结尾感到困惑(因此检测到每行是否已更改),但是这里很奇怪:
以前有人遇到过这种情况吗,有没有办法避免或解决此问题?
答案 0 :(得分:2)
With Git 2.16或更多,请至少执行一次:
git add --renormalize .
git commit -m "normalize eol files"
git push
然后尝试将存储库克隆到其他位置,并检查git status
的行为是否符合预期。
确保您没有将core.autocrlf
设置为true
。
git config core.autocrlf