git Переносы строк (разных) -- как игнорировать/конвертировать в разных ОС (Windows/Linux -- core.autocrlf commit checkout)

За политику работы с символами, используемымми для обозначения переноса строки (которые, как известно, разные в разных ОС) отвечает параметр core.autocrlf конфигурации git --
различные варианты:

  1. Универсальным решением будет выставить значение input для параметра core.autocrlf -- такой командой (глобально):
    git config --global core.autocrlf input

    -- в этом случае мы получаем в выгруженном коде/файлах (в том, что находится непосредственно в файловой системе):

    • CRLF-концы на Windows-системах
    • и LF-концы на Mac'ах и Linux'е, и в репозитории (т.е. коммит на Windows тоже преобразует даст в репозитории LF-символ).
  2. Если вы на Windows, но в команде есть кто-то, кто не на нём:
    git config --global core.autocrlf true

    -- концы строк из LF будут сконвертированы в CRLF при выгрузке кода.

  3. Если вся в команде работают на 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

Key Words for FKN + antitotal forum (CS VSU):