Найти в Дзене

Git и 1с как работать

Работа с Git и 1С представляет собой сложную, но очень полезную задачу, позволяющую организовать контроль версий для конфигураций 1С и упростить процесс разработки, особенно при командной работе.

Основные подходы к работе с Git и 1С:

Хранение файлов конфигурации в Git (DT-файлы или CF-файлы):

Суть: Конфигурация 1С представляется в виде набора файлов (DT — для полных выгрузок, CF — для выгрузки только конфигурации) и хранится в Git-репозитории. Это позволяет отслеживать изменения, создавать ветки для разработки, выполнять слияние изменений и т. д.

Инструменты:

1С:Предприятие (режим “Конфигуратор”).

Git (клиент командной строки или графический клиент, например, GitHub Desktop, GitKraken, Sourcetree).

Процесс:

Выгрузка конфигурации в файлы: В режиме “Конфигуратор” выгрузите конфигурацию в DT-файл (или CF-файл).

Создание Git-репозитория: Создайте Git-репозиторий (локальный или удаленный, например, на GitHub, GitLab, Bitbucket).

Добавление файлов конфигурации в репозиторий: Добавьте DT-файл (или CF-файл) и другие необходимые файлы (например, файлы с документацией) в Git-репозиторий.

Выполнение коммитов: Выполняйте коммиты (сохраняйте изменения) в Git-репозиторий после каждого изменения конфигурации.

Создание веток: Создавайте ветки для разработки новых функциональностей или исправления ошибок.

Слияние изменений: Выполняйте слияние изменений из разных веток в основную ветку (например, main или master).

Загрузка конфигурации из файлов: В режиме “Конфигуратор” загрузите конфигурацию из DT-файла (или CF-файла) в базу данных 1С.

Преимущества:

Простой в освоении и использовании.

Подходит для небольших проектов и для индивидуальной разработки.

Недостатки:

DT-файлы (и даже CF-файлы) — это большие бинарные файлы, которые Git не может эффективно отслеживать изменения внутри. Это означает, что Git будет видеть только изменение всего файла, а не отдельных его частей.

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

Невозможно отслеживать историю изменений отдельных объектов конфигурации (документов, справочников и т. д.).

Плохо подходит для командной разработки.

Использование EDT (Enterprise Development Tools) (рекомендуемый подход):

Суть: EDT — это бесплатная среда разработки для 1С, основанная на платформе Eclipse. EDT позволяет представлять конфигурацию 1С в виде набора текстовых файлов (XML), которые Git может эффективно отслеживать и сравнивать.

Инструменты:

EDT (Enterprise Development Tools).

1С:Предприятие (режим “Конфигуратор” не используется для разработки).

Git (клиент командной строки или графический клиент).

Процесс:

Установка EDT: Установите EDT.

Создание проекта EDT: Создайте проект EDT на основе существующей базы данных 1С.

Экспорт конфигурации в проект EDT: EDT экспортирует конфигурацию в виде набора XML-файлов.

Создание Git-репозитория: Создайте Git-репозиторий для проекта EDT.

Добавление файлов проекта в репозиторий: Добавьте все файлы проекта EDT в Git-репозиторий.

Разработка в EDT: Вносите изменения в конфигурацию в EDT.

Выполнение коммитов: Выполняйте коммиты в Git-репозиторий после каждого изменения.

Создание веток: Создавайте ветки для разработки новых функциональностей или исправления ошибок.

Слияние изменений: Выполняйте слияние изменений из разных веток в основную ветку.

Загрузка изменений в базу данных 1С: Из EDT загрузите изменения в базу данных 1С.

Преимущества:

Git может эффективно отслеживать изменения в XML-файлах, что позволяет видеть историю изменений отдельных объектов конфигурации.

Упрощается слияние изменений, внесенных разными разработчиками.

EDT предоставляет удобные инструменты для разработки, отладки и тестирования кода 1С.

Идеально подходит для командной разработки.

Улучшенная поддержка рефакторинга кода.

Недостатки:

Более сложный в освоении, чем способ с DT-файлами.

Требует установки и настройки EDT.

Использование OneScript и bsl ls (альтернативный подход):

Суть: OneScript — это кроссплатформенная реализация языка 1С, а bsl ls — это Language Server для языка 1С. Вместе они позволяют разрабатывать и тестировать код 1С вне платформы 1С, используя любые текстовые редакторы и IDE с поддержкой Language Server Protocol (LSP), такие как VS Code. Это открывает возможности для использования Git для контроля версий и совместной работы с кодом 1С как с обычным текстовым кодом.

Инструменты:

OneScript.

Bsl ls (Language Server для 1С).

Текстовый редактор или IDE с поддержкой LSP (например, VS Code).

Git.

Процесс:

Установка OneScript и bsl ls: Установите OneScript и настройте bsl ls.

Создание проекта OneScript: Создайте проект OneScript, содержащий файлы с кодом 1С.

Создание Git-репозитория: Создайте Git-репозиторий для проекта OneScript.

Разработка в текстовом редакторе/IDE: Разрабатывайте код 1С в вашем любимом текстовом редакторе или IDE, используя возможности, предоставляемые bsl ls (автодополнение, проверка синтаксиса и т. д.).

Выполнение коммитов: Выполняйте коммиты в Git-репозиторий после каждого изменения.

Слияние изменений: Используйте Git для слияния изменений, внесенных разными разработчиками.

Развертывание кода на платформе 1С: Используйте OneScript для развертывания кода на платформе 1С.

Преимущества:

Возможность использования привычных инструментов разработки (текстовые редакторы, IDE).

Кроссплатформенность (разработка на Linux, macOS).

Более гибкий контроль над кодом.

Недостатки:

Требует значительных усилий для настройки и освоения.

Не поддерживает все возможности платформы 1С.

Менее распространенный подход, чем EDT.

Рекомендации:

Начните с простого: Если вы только начинаете работать с Git и 1С, начните с хранения файлов конфигурации в Git (способ 1). Это поможет вам понять основные принципы работы с Git.

Переходите на EDT: Как только вы освоитесь с Git, переходите на использование EDT (способ 2). Это обеспечит вам более эффективную разработку и упростит командную работу.

Рассмотрите OneScript: Если вам важна кроссплатформенность или вы предпочитаете использовать другие инструменты разработки, попробуйте OneScript (способ 3).

Изучайте Git: Изучите основные команды Git (commit, push, pull, branch, merge, rebase) и принципы работы с Git-репозиториями.

Используйте Gitflow: Для организации командной разработки используйте Gitflow или другие модели ветвления.

Пишите комментарии: Пишите комментарии к своим коммитам, чтобы объяснить, какие изменения вы внесли.

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

Используйте. gitignore: Создайте файл .gitignore в корне Git-репозитория, чтобы исключить из-под контроля версий файлы, которые не нужно хранить в репозитории (например, временные файлы, файлы настроек).

Автоматизируйте процесс: По возможности автоматизируйте процесс выгрузки и загрузки конфигурации, чтобы упростить работу и избежать ошибок.

Пример. gitignore файла (для проекта EDT):

.settings/

.externalToolBuilders/

Temp/

*.snap

*.bak

Важно:

Выбор конкретного подхода зависит от ваших потребностей, навыков и используемой конфигурации 1С.

Работа с Git и 1С требует определенных усилий для настройки и освоения, но это оправдывается повышением эффективности разработки, упрощением командной работы и обеспечением надежного контроля версий.

Следуя этим рекомендациям, вы сможете эффективно использовать Git для контроля версий конфигураций 1С и организовать процесс разработки.

  📷
📷