Дополнительные средства разработки
25.11.2020
Конфигурация предназначена для односторонней синхронизации хранилища конфигурации "1С:Предприятия" с репозиторием Git и последующим переходом на разработку в 1C:Enterprise Development Tools (1C:EDT) с сохранением истории.
Выгружать только изменения конфигурации.
Доступно для Платформы 8.3.10 и выше, для версий ниже 8.3.15 требуется использовать "очереди".
Поддержка конвертации хранилищ расширений конфигураций. Возможность связи с базовым проектом 1С:ГитКонвертера или независимо.
Параметры настройки и сценарии применения в официальном репозитории компании 1С на GitHub https://github.com/1C-Company/GitConverter/wiki
Для информационной базы ГитКонвертера на сервере "1С:Предприятия" рекомендуется настроить удаление, перенос в архив или полностью отключить журнал регистрации, т.к. интенсивность событий в информационной базе может быть очень высокой, а ценность истории журнала регистрации за прошлые периоды - низкая.
Для легкого удаления и архивирования журнала регистрации можно переключить его формат на старый режим. Для этого необходимо в каталог журнала регистрации информационной базы скопировать пустой файл с именем: 1Cv8.lgf.
Для больших проектов рекомендуется выполнить такую настройку (удаление/резервное копирование файлов журнала регистрации).
Также рекомендуется переключить регистрацию событий - только ошибки. Для этого следует выбрать команду в Конфигураторе Администрирование - Настройка журнала регистрации... = Регистрировать ошибки и в открывшемся диалоге установить минимально необходимую вам периодичность.
Рекомендуется использовать сервер хранилищ конфигураций "1С:Предприятия".
Для оптимальной работы сервера хранилищ настройте Размер глобального кэша в "Администрировании" в 1,5-2 раза больше количества параллельных потоков (если используются "копии хранилища") получения версий * размер одной версии, Мб.
По умолчанию создается файл исключений .gitignore, в который добавляются файлы DumpFilesIndex.txt и ConfigDumpInfo.xml - не требуемые для работы с исходными файлами конфигурации "1С:Предприятия".
Если репозиторий был создан с помощью кнопки в карточке хранилища, в локальный конфиг репозитория добавляются настройки для более комфортной работы:
Копировать в буфер обменаgit config --local core.quotepath false
git config --local gui.encoding utf-8
git config --local i18n.commitEncoding utf-8
git config --local diff.renameLimit 1
git config --local diff.renames false
Если разработчики, работающие с репозиторием, используют разные операционные системы (Microsoft Windows, Linux, macOS), нужно настроить конвертацию символов окончания строк при чтении из репозитория. Следующие команды настраивают Git таким образом, что в рабочей копии разработчика будут использоваться "родные" для его операционной системы символы, а в репозитории всегда будет использоваться LF.
Для операционной системы Microsoft Windows:
git config --global core.autocrlf true
git config --global core.safecrlf true
Для операционных систем Linux и macOS:
Копировать в буфер обменаgit config --global core.autocrlf input
git config --global core.safecrlf true
Подробнее о назначении этих параметров вы можете прочитать в документации Git на английском языке git config core.safecrlf (http://git-scm.com/docs/git-config#git-config-coresafecrlf) и git config core.autocrlf (http://git-scm.com/docs/git-config#git-config-coreautocrlf).
Для увеличения быстродействия репозитория Git можно использовать расширение git lfs (https://git-lfs.github.com).
Если используется сервер репозиториев Git, необходимо убедиться, что он поддерживает это расширение и включить настройки для проекта. Например, GitLab, GitHub, BitBucket - поддерживают.
Выполнить начальную настройку репозитория до выполнения первого коммита:
Копировать в буфер обменаgit lfs install
Включить отслеживание бинарных файлов конфигурации:
Копировать в буфер обменаgit lfs track "*.cf"
git lfs track "*.bin"
git lfs track "*.png"
git lfs track "*.gif"
git lfs track "*.bmp"
git lfs track "*.jpg"
git lfs track "*.zip"
В этом примере - все файлы конфигураций поставщиков, файлы макетов с "Двоичными данными" и картинки из конфигурации попадут в lfs.
Например, чтобы переносить в LFS только некоторые типы файлов с расширением "*.bin" можно включить отслеживание только шаблонов и модулей без исходного кода по маске:
Копировать в буфер обменаgit lfs track "*/Ext/Template.bin"
git lfs track "*/Ext/Module.bin"
Копии хранилища используются для ускорения получения версий из хранилища.
Можно использовать тот же адрес серверного хранилища конфигураций, но с разными пользователями. Количество "копий" влияет на размер создаваемого глобального кэша версий на сервере хранилища "1С:Предприятия". Желательно установить кэш в настройках сервера хранилищ "1С:Предприятия" в полтора раза больше, чем количество копий в ГитКонвертере.
Укажите другой адрес архивной копии хранилища, если в текущем хранилище конфигураций выполнялось сокращение версий, и установите ограничение номеров версий в этой копии.
Укажите расписание получения версий из этой копии. Если в "копии" указан адрес основного хранилища, необходимо в расписании учесть возможность работы разработчиков с хранилищем - запуски на получение выполнять с промежутками, обеспечивающими комфортную работу разработчиков.
Если включена константа "Использовать очереди выполнения", то для каждого хранилища конфигураций необходимо указать 2 очереди:
Можно указать диапазоны количества версий для каждой очереди для разграничения "рабочей зоны".
Укажите ограничение количества версий обрабатываемых очередью за один запуск и расписание запусков.
Очередь может быть общей на всю базу или привязанной к конкретному хранилищу. Для очереди общего типа выбор версий для обработки выполняется по дате версии - это следует учитывать при конвертации проектов с длинной историей и более "молодых" проектов в одной базе ГитКонвертера.
Хранилище конфигураций "1С:Предприятия" использует для идентификации Пользователя, а в репозитории Git основным идентификатором является email и имя пользователя. Для этих целей предназначен регистр сведений Информация пользователей, позволяющий указать соответствие пользователей хранилищ пользователям репозитория Git.
Можно выполнять коммиты анонимно, с потерей информации об авторстве. Пользователь хранилища будет указан в дополнении к комментарию к каждой версии.
Пользователи могут быть указаны общие для всех хранилищ или с уточнением по хранилищам.
Внимание! Конвертация хранилища 1С в формат выгрузки xml 1С:Предприятия является устаревшей функциональностью и не доступна для новых настроек конвертации хранилища. Текущие настройки синхронизации хранилища, конвертирующие в формат выгрузки xml 1С:Предприятия будут работать корректно, но рекомендуется выполнить разовую конвертацию в формат 1C:EDT (см. тут) и продолжить синхронизацию в этом формате.
Функциональность конвертирования в формат xml 1С:Предприятия будет удалена в 1.0.6.
Т.е. в этой версии часть файлов или все были сначала удалены в репозитории, а следующая версия добавила файлы заново - сквозная история была потеряна:
Файл конфигурации GitConverter находится в каталоге \1CITS\EXE\GitConverter