.gitattributes и нормализация окончаний строк: измененные файлы все еще там

Меня смущает поведение .gitattributes.

Следуя статье о нормализации окончаний строк, я сделал следующие шаги:

  • создал .gitattiributes с * text=auto
  • на моем компьютере Windows для разработчиков у меня есть core.autocrlf = true
  • на моей машине для сборки Linux у меня есть core.autocrlf = input
  • Я выполнил нормализацию окончаний строк на моей машине разработки, работающей под управлением git rm --cached -r . && git reset --hard && git add . && git commit -m "normalized" && git push develop origin/develop.

Последний шаг, согласно моим мыслям, должен в конце концов отправить все текстовые файлы с окончаниями LF в репозиторий, и с этого момента все мои коммиты и проверки не будут беспокоить коллизии окончаний строк на любых платформах.

Но когда я клонировал репозиторий на свой компьютер с сборкой Linux, я сразу же получил кучу файлов, помеченных как измененные. Если в рабочей копии на сборочной машине изменить строку .gitattributes на # * text=auto (закомментировано), все станет нормально.

Почему так и что я делаю не так?


person glaz666    schedule 21.11.2013    source источник


Ответы (1)


Хм, кажется, вам нужно перепутать порядок команд: «git reset --hard» должен стоять последним, иначе я не вижу, что git add действительно добавит что-нибудь в индекс...

person mmey    schedule 23.12.2013