Использование среды разработки 1С: EDT
Git – это набор утилит, который используется для контроля версий файлов, т. е. фиксируют изменения в файле, позволяют сравнивать и анализировать различные версии файла, откатываться к предыдущим версиям файлов.
Рассмотрим пример разработки конфигурации 1С с использованием среды разработки 1С:EDT.
Откроем программу 1С:EDT, создадим новую конфигурацию.
Новая конфигурация в 1С: EDT
Для того, чтобы начать использование GIT, нужно создать репозиторий GIT.
Как создать репозиторий GIT
Git преобразовывает наши объекты в XML файлы и хранит их в папках.
Работа со справочниками «Номенклатура» и «Контрагенты»
Создадим 2 справочника – «Номенклатура» и «Контрагенты». Знак вопроса слева от справочника указывает на то, что объект не находится под версионным контролем.
Справочники Номенклатура и Контрагенты в 1С: EDT
Версия в Git – это снимок конфигурации на момент времени. Можно провести аналогию с помещением в хранилище 1С. Этот функционал позволяет вернуться к каждому моменту, когда мы туда что-то помещали. Для начала работы нужно сделать первый снимок.
Версия в Git
Сейчас мы видим, что все объекты находятся в блоке «Неподготовленные изменения».
Неподготовленные изменения в 1С: EDT
Для того чтобы они попали в снимок, нужно выделить и перенести их в окно «Подготовленные изменения».
Подготовленные изменения в 1С: EDT
При этом значки знаков вопроса у объектов конфигурации исчезли. Вместо них появились белые звездочки.
Справочники Номенклатура и Контрагенты в 1С: EDT
Это означает, что они готовы к помещению в Git. Само действие создания снимка называется «коммит».
Обязательно пишем комментарий в окне «Сообщение коммита» и нажимаем «Фиксировать».
Коммит в 1С: EDT
Значки у объектов сменились на желтые цилиндры. Это значит, что объекты находятся под версионным контролем.
Объекты под версионным контролем
Более наглядно можно посмотреть, открыв историю версий.
Путь к истории версий в 1С: EDT
История версий в 1С: EDT
Master – ветка, в которой мы сейчас работаем. HEAD указывает на конец ветки. И далее идет наш комментарий.
Добавим в справочник «Контрагенты» реквизит ИНН и нарочно забудем указать его тип, оставим параметры по умолчанию.
Реквизит ИНН по умолчанию в 1С: EDT
Внесем изменения в хранилище – перенесем созданный реквизит из вкладки «Неподготовленные изменения» во вкладку «Подготовленные изменения», напишем комментарий «ИНН» и зафиксируем.
В истории версий появился второй снимок
Второй снимок в 1С: EDT
Для справочника «Контрагенты» были созданы файлы новой версии. Для всех остальных объектов в новой версии новых файлов не создано – для них есть лишь ссылки на первую версию.
Предположим, что кто-то добавил новый реквизит «Единица измерения» в справочник «Номенклатура», но работа над ним еще не закончена и данный справочник находится в «Неподготовленных изменениях». Но в этот момент нам нужно изменить тип реквизита «ИНН» справочника «Контрагенты». В таком случае мы можем создать новую ветку разработки «fix1».
Новая ветка разработки в 1С: EDT
После создания новой ветки – заходим в реквизит «ИНН» и меняем тип реквизита. Помещаем изменения в «Подтвержденные изменения» и фиксируем, написав комментарий «fixed».
Изменение типа реквизита в 1С: EDT
После этого переходим на нашу первую ветку «master».
Ветка Master в 1С: EDT
Заканчиваем изменения в справочнике «Номенклатура» и фиксируем их.
Изменения в справочнике «Номенклатура»
После этого в окне истории версий можем видеть 2 наших ветки разработки. Нужно слить эти ветки.
Слияние веток разработки
Если изменяются разные объекты и конфликтов нет, то слияние происходит в автоматическом режиме. Если будут конфликты, то программой будет предложено сравнение/объединение и нужно будет вручную разрешить коллизии.
Механизм веток удобен тем, что есть возможность групповой разработки, без необходимости создания для каждого разработчика отдельного ландшафта. Здесь можно в любой момент создать с любого снимка новую ветку, при этом она будет создана без затрат на это больших ресурсов, так как в этот момент это будут просто ссылки на наш снимок. Можно вести разработку, тестировать в созданной ветке и затем просто слить ветки в GIT.
Специалист компании «Кодерлайн»
Александр Суворов