Назначение: Распределенная система контроля версий
Качаем: https://git-scm.com/download/win
Назначение: Визуальный инструмент для работы с GIT.
Качаем: https://www.sourcetreeapp.com/
Устанавливаем.
Регистрируемся на: https://bitbucket.org
При первом запуске указываем регистрационные данные.
В настройках указываем использование KDiff3 в качестве внешнего инструмента слияния.
Назначение: Интерпретатор языка OneScript для написания скриптов автоматизации. Требуется для выгрузки/загрузки конфигурации в/из репозиторий GIT.
Качаем: http://oscript.io/downloads
Назначение: Скрипт для автоматической выгрузки конфигураций 1С их хранилища 1С в GIT (скрипт на oscript).
Качаем и устанавливаем:
в командной строке вызываем: “opm install gitsync”
(используется менеджер пакетов opm, установленный вместе с 1Script)
Назначение: Инструмент для сравнения/объединения файлов и каталогов
Качаем: https://sourceforge.net/projects/kdiff3/files/
Также можно использовать друге инструменты сравнения/объединения: DiffMerge, P4Merge и пр. или использовать встроенный в SourceTree.
Имеется доработанная типовая конфигурация 1С. Версия платформы 1С 8.3.
-
Устанавливаем указанное выше ПО.
-
В настройках SourceTree указываем использование KDiff3 (или другой инструмент сравнения/объединения) в качестве внешнего инструмента слияния.
-
Создаем информационную базу для выполнения обновлений конфигурации поставщика (база поставщика).
-
Выгружаем в базу поставщика текущую конфигурацию поставщика из текущей доработанной конфигурации 1С.
-
Из базы поставщика создаем хранилище 1С для хранения версий поставщика (хранилище поставщика).
-
Создаем информационную базу для выполнения обновлений доработанной конфигурации (база доработки).
-
Выгружаем в базу доработки текущую доработанную конфигурацию 1С.
-
Из базы доработки создаем хранилище 1С для хранения версий доработанной конфигурации (хранилище доработки).
-
Создаем каталог (папку) репозитория GIT и в ней создаем каталог “src” для хранения «исходников» конфигурации.
-
Инициализируем репозиторий git:
-
В каталоге репозитория выполняем команду «git init»
Или в SourceTree: «Файл\Клонировать / создать\Создать новый репозиторий».
-
-
Настраиваем репозиторий для использования gitsync:
- В каталоге src создаем текстовый файл VERSION без расширения с содержимым:
<?xml version="1.0" encoding="UTF-8"?>
<VERSION>0</VERSION>
В элементе <VERSION> указывается версия хранилища поставщика со следующей за которой будет выгружаться конфигурация.
- В каталоге src создаем текстовый файл AUTHORS без расширения с содержимым:
Слева указано имя пользователя хранилища 1С
Справа указано- представление имени пользователя репозитория Git и его e-mail. E-mail указываем битовский
Администратор=Пользователь1 <[email protected]>
Вася Иванов=Другой Пользователь <[email protected]>
-
Выгружаем конфигурацию поставщика в ветку master созданного репозитория GIT:
- Открываем командную строку (cmd).
- Переходим в каталог репозитория GIT.
- Выполняем выгрузку конфигурации из хранилища поставщика:
cd “<папка репозитория GIT>”
“<папка репозитория GIT>”>gitsync export “<каталог хранилища поставщика>” src\cf [-v8version 8.3.12]
- В репозитории создаем из ветки master ветку origin1c (SourceTree: «Репозиторий/Ветка…»).
- В репозитории создаем из ветки master ветку develop (SourceTree: «Репозиторий/Ветка…»).
- В репозитории переходим на ветку develop (SourceTree: «Репозиторий/Перейти…»).
- В файле src/VERSION элементе <VERSION> указываем 0, чтобы выгрузить первую версию из хранилища доработки.
- Выгружаем доработанную конфигурацию в ветку develop репозитория:
- Открываем командную строку (cmd).
- Переходим в каталог репозитория GIT.
- Выполняем выгрузку конфигурации из хранилища доработки:
gitsync export “<каталог хранилища доработки>” src [-v8version 8.3.8]
- В репозитории переходим на ветку master (SourceTree: «Репозиторий/Перейти…»).
- Выполняем слияние (merge) ветки develop в ветку master (SourceTree: «Репозиторий/Слияние…»).
- В базе поставщика захватываем все объекты в хранилище рекурсивно.
- Выполняем обновление конфигурации файлом обновления от поставщика.
- Помещаем результат обновления в хранилище поставщика.
- В репозитории переходим на ветку origin1c (SourceTree: «Репозиторий/Перейти…»).
- Выгружаем обновленную конфигурацию поставщика в ветку origin1c репозитория:
- Открываем командную строку (cmd).
- Переходим в каталог репозитория GIT.
- Выполняем выгрузку конфигурации из хранилища поставщика:
gitsync export “<каталог хранилища поставщика>” src [-v8version 8.3.12]
-
В репозитории переходим на ветку develop (SourceTree: «Репозиторий/Перейти…»).
-
Выполняем слияние (merge) ветки origin1c в ветку develop (SourceTree: «Репозиторий/Слияние…»).
-
Решаем конфликты объединения:
- Для текстовых файлов используем KDiff3 (SourceTree: «Действия/Разрешить конфликты/Использовать внешние инструменты слияния»)
- Для бинарных файлов в большинстве случаев решаем конфликт в пользу новой конфигурации поставщика (в origin1c)
-
В отдельной временной базе 1С выполняем загрузку конфигурации из файлов из каталога “<каталог репозитория/src>”.
-
Выгружаем загруженную конфигурацию в файл (CF).
-
В базе доработки захватываем конфигурацию в хранилище рекурсивно.
-
В базе доработки выполняем сравнение/объединение с конфигурацией из п. 10
-
Помещаем доработанную конфигурацию в хранилище доработки рекурсивно.
-
В базе и хранилище доработки находится конфигурация – результат обновления.
-
Выгружаем доработанную конфигурацию в ветку develop репозитория:
- Открываем командную строку (cmd).
- Переходим в каталог репозитория GIT.
- Выполняем выгрузку конфигурации из хранилища доработки:
gitsync export “<каталог хранилища доработки>” src [-v8version 8.3.12]
- В репозитории переходим на ветку master (SourceTree: «Репозиторий/Перейти…»).
- Выполняем слияние (merge) ветки develop в ветку master (SourceTree: «Репозиторий/Слияние…»).