Базовая настройка git

Базовая настройка git.

Содержание

1 Первичная настройка параметров git

  • Зададим имя и email владельца репозитория:
    git config --global user.name "Name Surname"
    git config --global user.email "work@mail"
    
  • Настроим utf-8 в выводе сообщений git:
    git config --global core.quotepath false
    
  • Настройте верификацию и подписание коммитов git (см. Подпись коммитов git).
  • Зададим имя начальной ветки (будем называть её master):
    git config --global init.defaultBranch master
    
  • Зададим опцию для автоматического задания удалённой ветки:
    git config --global push.autoSetupRemote true
    

2 Учёт переносов строк

  • В разных операционных системах приняты разные символы для перевода строк:
    • Windows: \r\n (CR и LF);
    • Unix: \n (LF);
    • Mac: \r (CR).
  • Посмотреть значения переносов строк в репозитории можно командой:
    git ls-files --eol
    

2.1 Параметр autocrlf

  • Настройка core.autocrlf предназначена для того, чтобы в главном репозитории все переводы строк текстовых файлах были одинаковы.

  • Настройка core.autocrlf с параметрами true и input делает все переводы строк текстовых файлов в главном репозитории одинаковыми.

    • core.autocrlf true: конвертация CRLF->LF при коммите и обратно LF->CRLF при выгрузке кода из репозитория на файловую систему (обычно используется в Windows).
    • core.autocrlf input: конвертация CRLF->LF только при коммитах (используются в MacOS/Linux).
  • Варианты конвертации

    Таблица 1: Варианты конвертации для разных значений параметра core.autocrlf
    core.autocrlffalseinputtrue
    git commitLF -> LFLF -> LFLF -> CRLF
    CR -> CRCR -> CRCR -> CR
    CRLF -> CRLFCRLF -> LFCRLF -> CRLF
    git checkoutLF -> LFLF -> LFLF -> CRLF
    CR -> CRCR -> CRCR -> CR
    CRLF -> CRLFCRLF -> CRLFCRLF -> CRLF
  • Установка параметра:

    • Для Windows
      git config --global core.autocrlf true
      
    • Для Linux
      git config --global core.autocrlf input
      

2.2 Параметр safecrlf

  • Настройка core.safecrlf предназначена для проверки, является ли окончаний строк обратимым для текущей настройки core.autocrlf.
    • core.safecrlf true: запрещается необратимое преобразование lf<->crlf. Полезно, когда существуют бинарные файлы, похожие на текстовые файлы.
    • core.safecrlf warn: печать предупреждения, но коммиты с необратимым переходом принимаются.
  • Установка параметра:
    git config --global core.safecrlf warn
    

Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие