Настроить групповую разработку

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

Настройки групповой разработки

Эти настройки можно выполнить в параметрах 1C:EDT или из командной строки в консоли Git, если Git уже установлен у вас на компьютере.

Чтобы открыть настройки Git в параметрах 1C:EDT:

  1. Запустите проект 1C:EDT Start;
  2. Нажмите Окно > Параметры... > Групповая разработка > Git > Конфигурация > Настройки пользователя чтобы открыть конфигурацию Git.
Например, чтобы указать здесь адрес электронной почты нужно выполнить следующие действия:
  1. Нажмите Добавить запись;
  2. В поле Ключ введите значение user.email;
  3. В поле Значение введите значение johndoe@example.com
  4. Нажмите Добавить.
Те же самые действия можно выполнить из командной строки следующей командой:
git config --global user.email johndoe@example.com

Результат будет одинаковым.

Далее все настройки будут описаны для работы с параметрами 1C:EDT и в качестве справки будут даны консольные команды.

Имя и адрес электронной почты

При первом коммите 1C:EDT попросит вас указать имя и адрес электронной почты, которыми она будет идентифицировать ваши коммиты. Чтобы другие разработчики могли понимать, кто именно внес те или иные изменения.

Если вы пропустили этот шаг или хотите изменить эти данные, добавьте следующие параметры:
  • user.name — ваше имя;
  • user.email — ваш адрес электронной почты.

При работе из командной строки используйте следующие команды:

git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
Длинные имена файлов

На вашем компьютере может существовать ограничение на длину имени файла, например 260 символов в операционной системе Windows. Поэтому при клонировании репозиториев или при создании локальных репозиториев можно получить ошибку Filename too long.

Чтобы избежать этого, воспользуйтесь следующими советами:
  • располагайте локальные репозитории как можно ближе к корню диска;
  • запустите 1C:EDT от имени администратора и добавьте следующий параметр:
    • core.longpathstrue.
    Совет: Чтобы запустить 1C:EDT от имени администратора:
    1. Закройте 1C:EDT;
    2. Закройте 1C:EDT Start;
    3. С помощью команды Пуск > 1C Enterprise Development Tools > 1CEDT Start запустите 1C:EDT Start от имени администратора (Запуск от имени администратора в контекстном меню);
    4. Запустите проект 1C:EDT Start;
    5. Откройте конфигурацию групповой разработки 1C:EDT.
При работе из командной строки используйте следующую команду (консоль Git должна быть запущена от имени администратора):
git config --system core.longpaths true
Большие файлы

При работе с удаленным репозиторием могут возникать проблемы во время выполнения команд Отправить в Upstream и Получить и слить в том случае, когда вы работаете по протоколу HTTP и в репозитории есть большие файлы. В этом случае вам поможет увеличение параметра http.postBuffer.

Добавьте следующий параметр:
  • http.postBuffer1048576000.

При работе из командной строки используйте следующую команду:

git config --global http.postBuffer 1048576000

Подробнее о назначении этого параметра можно прочитать в документации Git на английском языке: git config http.postBuffer.

Символы окончания строк

Если разработчики, работающие над проектом, используют разные операционные системы (Microsoft Windows, Linux, macOS), нужно настроить конвертацию символов окончания строк при помещении в репозиторий и чтении из него. Следующие команды настраивают Git таким образом, что в рабочей копии разработчика будут использоваться «родные» для его операционной системы символы, а в репозитории всегда будет использоваться LF.

Windows

Добавьте следующие параметры:
  • core.autocrlftrue;
  • core.safecrlftrue.

При работе из командной строки используйте следующие команды:

git config --global core.autocrlf true
git config --global core.safecrlf true

Linux и macOS

Добавьте следующие параметры:
  • core.autocrlfinput;
  • core.safecrlftrue.

При работе из командной строки используйте следующие команды:

git config --global core.autocrlf input
git config --global core.safecrlf true

Подробнее о назначении этих параметров можно прочитать в документации Git на английском языке: git config core.autocrlf и git config core.safecrlf.

Возможная проблема: Если вы не настроили символы окончания строк и отправили свою ветку на сервер, то при слиянии будут обнаружены отличия практически во всех файлах. Чтобы исправить эту ситуацию и привести окончания строк в серверной ветке к нужному виду, воспользуйтесь этим советом.
Русские буквы в путях

Файлы с русскими буквами могут показываться в нечитаемой кодировке.

Для устранения этой проблемы добавьте следующий параметр:
  • core.quotePathfalse.

При работе из командной строки используйте следующую команду:

git config --global core.quotePath false

Подробнее о назначении этого параметра можно прочитать в документации Git на английском языке: git config core.quotePath.

Настройка тайм-аута при работе с удаленными репозиториями

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

Git repository clone failed.
Read timed out after 30 000 ms

В этом случае можно попробовать увеличить тайм-аут удаленного соединения, установленный по умолчанию в 30 с. Для этого нажмите Окно > Параметры... > Групповая разработка > Git. В поле Тайм-аут удаленного подключения (сек) введите большее значение.

Неправильные символы окончания строк в серверной ветке Git

Если вы не настроили символы окончания строк и отправили свою ветку на сервер, то при слиянии будут обнаружены отличия практически во всех файлах.

Чтобы исправить эту ситуацию и привести окончания строк в серверной ветке к правильному виду, выполните следующие действия:
  1. Удалите локальную копию удаленного репозитория, который вы склонировали ранее;
  2. В настройках Git установите (измените) следующие параметры:
    • core.autocrlffalse;
    • core.safecrlffalse;
  3. Заново склонируйте удаленный репозиторий;
  4. Переключитесь на свою ветку, в которой нужно исправить символы окончания строк;
  5. Преобразуйте разделители строк в LF. Для этого
    • В панели Навигатор выделите проект;
    • В главном меню нажмите Файл > Преобразовать разделители строк в > > Unix;
    • Нажмите Выбрать все, а затем ОК.
  6. Зафиксируйте изменения и отправьте их на сервер (в коммит попадут только те файлы, в которых были неправильные разделители строк);
  7. Удалите локальную копию удаленного репозитория, который вы склонировали в пункте 3;
  8. Верните настройки Git в правильное состояние:
    • Для операционной системы Windows:
      • core.autocrlftrue;
      • core.safecrlftrue;
    • Для операционных систем Linux и macOS:
      • core.autocrlfinput;
      • core.safecrlftrue;
  9. Еще раз склонируйте удаленный репозиторий и продолжайте работать как обычно.