В моем репозитории, который имеет смешанные окончания строк. Я использую 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 .
вызовет ошибку, но я очень параноик с приведенной выше командой. (На моей машине эти команды были на одной строке, игнорируя коды выхода)
Я повторяю команду много раз. (Т.е. ВВЕРХ, ВВОД, ВВЕРХ, ВВЕРХ, ВВОД,...)
В большинстве случаев у меня есть чистая проверка, чего я не ожидаю.
Однако, примерно раз в десять раз, я нахожу, что получаю три файла (которые, кажется, правильно перенормированы). В оставшиеся времена нет перенормировки.
Выход такого файла, который перенормирован (Ie, is 'modified'), равен:
$ file source/RemoveDuplications.cs
source/RemoveDuplications.cs: UTF-8 Unicode (with BOM) C++ program text, with CRLF line terminators
В моем файле атрибутов git содержится довольно много записей, но соответствующий находится здесь:
* text=auto
*.cs text eol=crlf
Что здесь может быть не так?