开发团队都在 windows 下开发,有IDE管理代码。对我们来说,最好是禁用换行转换符的功能。我用 cygwin 提交代码,提交时总提示自动转换换符。其实都不用提交,仅运行 git status 看有没有提示就知道了。
也是在网上找了一圈,一些建议是运行下面的命令:
git config --global core.autocrlf false
git config --global core.saftcrlf true
如果不运行命令,直接编辑 ~/.gitconfig 增加下面的内容也是一样:
[core]
autocrlf = false
safecrlf = true
但并不能解决问题。后来继续找,一篇文章给了我提示。到项目目录下找到一个 .gitattributes 文件,将第一行的
*text=auto !eof
改成 *text=
就解决问题了。再运行 git status 不再提示转换。
以此乱文感谢在网上分享的人,现在中文有价值的分享还是少了点。
git status遇到old mode问题
用git status看了一下,发现许多文件都被修改了,但事实上没有改动哈
然后用git diff查看一下,发现大量的
old mode 100644 new mode 100755
原来是权限问题,解决办法
单个项目配置
git config core.filemode false
git全局配置
git config --global core.filemode false
git config --global core.autocrlf true
不确定有没有配置成功, 可以查看输出
git config --get core.autocrlf
这个命令会根据当前 .gitattributes 和 core.autocrlf 配置,重新扫描和规范所有文件的换行符。
git add --renormalize .
git配置一个用户名
路径在.git/config 文件