当我像这样检查卷曲时:
git clone https://github.com/bagder/curl.git
我得到(没有做任何事)2个修改过的文件:
> git status
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: winbuild/Makefile.msvc.names
modified: winbuild/MakefileBuild.vc
no changes added to commit (use "git add" and/or "git commit -a")
即使我尝试签出这样的文件:
git checkout winbuild/Makefile.msvc.names
他们仍然被修改。对git diff -R
的调用表明它可能与行结尾有关,因为差异显示^M
附加到每一行。
由于评论中建议该问题与.gitattributes
文件有关,因此它是:
*.dsw -crlf
buildconf eol=lf
configure.ac eol=lf
*.m4 eol=lf
*.in eol=lf
删除我的gitconfig不会改变这种情况,所以我猜它与此无关。
顺便说一下,我在ubuntu linux上。
答案 0 :(得分:0)
winbuild
中有第二个MakefileBuild.vc eol=crlf
Makefile.msvc.names eol=crlf
Makefile.vc eol=crlf
文件,内容为:
.gitattributes
此行会导致使用Windows样式的行结尾。
解决此问题的一种方法是删除{{1}}并将其检入git。当然,这会删除文件的初衷。