我的存储库中的行尾符号混合了。
我正在使用Mac OS X和git 1.8.3.1
我想重新规范化这个存储库,使每个文件的行尾符号与.gitattributes文件一致。
为此,我已经检出了最新的更改:
git checkout origin/develop
git reset --hard
git rm -rf .
git rm --cached -rf .
rm .git/index
git checkout HEAD .gitattributes
git reset --hard
git status
现在,使用git rm --cached -rf .
会导致错误,但是我对以上命令非常谨慎。在我的电脑上,那些命令在一行上,忽略了退出代码。
我重复执行这个命令很多次。(即,向上箭头;回车键;向上箭头;回车键;向上箭头;回车键;...)
大部分时间,我得到的是一个干净的检查,这不是我期望的结果。
然而,大约每十次左右,我发现我得到了三个文件(似乎已经正确地重新归一化)。其余的时间没有重新归一化。
被重新归一化(即“修改”)的文件的输出为:
$ file source/RemoveDuplications.cs
source/RemoveDuplications.cs: UTF-8 Unicode (with BOM) C++ program text, with CRLF line terminators
我的git attributes文件有很多条目,但相关的一个在这里:
* text=auto
*.cs text eol=crlf
这里可能出了什么问题?
find . -iname '*.cs' -exec unix2dos '{}' \;
。 - Arafangion.gitattributes
ж–Ү件пјҹдҪ зҡ„git config core.autocrlf
и®ҫзҪ®дёәfalse
дәҶеҗ—пјҹ - VonC