在我的存储库中,它具有混合行结尾.我使用的是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
Run Code Online (Sandbox Code Playgroud)
现在,git rm --cached -rf .
将导致错误,但我对上述命令非常偏执.(在我的机器上,这些命令在一行上,忽略退出代码)
我多次重复这个命令.(即,UP; ENTER; UP; ENTER; UP; ENTER; ...)
大多数时候,我有一个干净的退房,这不是我所期待的.
但是,大约每十次一次,我发现我得到三个文件(似乎正确地重新规范化).剩下的时间没有重整化.
重新规范化的这种文件的输出(即,'修改')是:
$ file source/RemoveDuplications.cs
source/RemoveDuplications.cs: UTF-8 Unicode (with BOM) C++ program text, with CRLF line terminators
Run Code Online (Sandbox Code Playgroud)
我的git属性文件有相当多的条目,但相关的一个在这里:
* text=auto
*.cs text eol=crlf
Run Code Online (Sandbox Code Playgroud)
这里可能出了什么问题?
Rec*_*oin -3
您始终可以使用 sed 脚本之类的东西来编辑文件,然后重新提交它们以查看这种情况是否继续发生。如果您从命令行执行此操作,则应该使用正确的正则表达式来提取可能导致问题的任何隐藏字符。