我正在运行Windows 10,并在Cygwin命令行上使用Cygwin的git,并在VS Code,PowerShell等应用程序中使用Windows git。
我有一个.gitattributes
文件,其条目如下:
text eol=crlf
*.ahk text eol=crlf
*.bat text eol=crlf
*.cmd text eol=crlf
*.css text
*.java text
*.js text
*.md text eol=crlf
*.sh text eol=lf
*.txt text eol=crlf
*.xml text
但是,我发现在Cygwin或PowerShell上反复运行git status
时,交替显示所有文件都需要修改,这取决于我最后一次检查了哪个文件。服从我的.gitattributes
?
2019年4月2日,星期二,12:32:15 PM
在Cygwin上,我这样做:
$ git config --global core.autocrlf
false
$ echo "* text=auto" >>.gitattributes
$ git add --renormalize .
$ git commit -m "Introduce end-of-line normalization"
... snip
$ git push
... snip
$ git status
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
然后在PowerShell中
> git config --global core.autocrlf
false
> git status
... snip.. every single file listed.. again!
答案 0 :(得分:1)
确保在您的Cygwin环境中,git config core.autocrlf设置为false
git config --global core.autocrlf false
这样,Git不会自动更改文件eol,并将坚持其.gitattributes
指令。