Я довольно часто возвращаюсь к этому ответу, хотя ни один из них мне не подходит. Тем не менее, правильный ответ для меня - это смесь других.
То, что я нахожу работы, выглядит следующим образом:
git config --global core.eol lf
git config --global core.autocrlf input
Для репозиториев, которые были извлечены после того, как были установлены эти глобальные настройки, все будет извлечено так же, как и в репозитории & ndash; надеюсь LF
(\n
). Любой CRLF
будет преобразован в LF
при регистрации.
С существующим репо, которое вы уже проверили & ndash; у него правильные окончания строк в репо, но нет вашей рабочей копии & ndash; Вы можете запустить следующие команды, чтобы исправить это:
git rm -rf --cached .
git reset --hard HEAD
Это приведет к рекурсивному удалению (rm
) (r
) без запроса (-f
) всех файлов, кроме отредактированных (--cached
), из текущего каталога (.
). reset
затем возвращает все эти файлы в состояние, в котором у них есть истинные окончания строк (в соответствии с тем, что в репо).
Если вам нужно исправить окончание строк файлов в репо, я рекомендую взять редактор, который позволит вам сделать это оптом, например IntelliJ или Sublime Text, но я уверен, что любой хороший, вероятно, поддержит это.