git Переносы строк (разных) -- как игнорировать/конвертировать в разных ОС (Windows/Linux -- core.autocrlf commit checkout)
Primary tabs
За политику работы с символами, используемымми для обозначения переноса строки (которые, как известно, разные в разных ОС) отвечает параметр core.autocrlf конфигурации git --
различные варианты:
- Универсальным решением будет выставить значение input для параметра core.autocrlf -- такой командой (глобально):
git config --global core.autocrlf input
-- в этом случае мы получаем в выгруженном коде/файлах (в том, что находится непосредственно в файловой системе):
- CRLF-концы на Windows-системах
- и LF-концы на Mac'ах и Linux'е, и в репозитории (т.е. коммит на Windows тоже преобразует даст в репозитории LF-символ).
- Если вы на Windows, но в команде есть кто-то, кто не на нём:
git config --global core.autocrlf true
-- концы строк из LF будут сконвертированы в CRLF при выгрузке кода.
- Если вся в команде работают на Windows, то можно писать символ возврата каретки и в репозиторий:
git config --global core.autocrlf false
Источники:
- https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
- https://ru.stackoverflow.com/questions/406466/%D0%9A%D0%B0%D0%BA-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B8%D1%82%D1%8C-autocrlf-%D0%B2-git-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B7%D0%BB%D0%B8%D1%87%D0%BD%D1%8B%D1%85-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC
- Log in to post comments
- 12331 reads