Стратегия ветвления Git для модификации библиотеки объектов ArchiCAD
Мне нужен совет по стратегии Git Branching.
Программное обеспечение САПР, которое я использую, ArchiCAD, имеет стандартную библиотеку объектов. Я вношу небольшие изменения в эти библиотеки, чтобы они подходили для нашего офиса, и я хотел бы отслеживать эти изменения в git. Я могу декомпилировать бинарные объекты этих библиотек в xml-файлы, поэтому я могу модифицировать эти файлы с помощью git.
Однако, когда выходит новая версия программного обеспечения, выпускается обновленная версия библиотеки с некоторыми исправлениями, улучшениями, новыми объектами, которые я хочу использовать.
Я также хочу иметь возможность объединить изменения, которые я сделал в предыдущей версии, в новую версию.
Я не очень понимаю, как должна работать стратегия ветвления git. Я думаю 3 ветки:
- Первоначальный источник — он будет содержать исходный код библиотеки объектов и обновляться после каждого нового выпуска.
- Выпуск. Это приведет к слиянию ветки исходного кода с новым выпуском ArchiCAD, а мои модификации будут изменены вручную для обеспечения совместимости.
- Feature - Тестирование модификаций стандартной библиотеки.
Суть в том, что каждое из имен файлов, поставляемых с каждой версией ArchiCAD, имеет префикс соответствующего номера версии, например, эти два файла идентичны во всех смыслах и целях, за исключением имени файла и номера версии в узле xml.
- Библиотека ARCHICAD 25\Библиотека объектов 25\1. БАЗОВАЯ БИБЛИОТЕКА 25\1.1 Мебель 25\Бытовая техника 25\Газовая плита 25.xml
- Библиотека ARCHICAD 26\Библиотека объектов 26\1. БАЗОВАЯ БИБЛИОТЕКА 26\1.1 Мебель 26\Бытовая техника 26\Газовая плита 26.xml
Некоторые мысли:
- Должен ли я удалить номер версии в именах файлов и папок, создать скрипт для запуска массовой команды git mv или есть способ сопоставления шаблонов файлов в git?
- Должен ли я также включать скомпилированные объекты двоичной библиотеки (файлы .gsm) в отслеживание git.
- Мне также необходимо поддерживать несколько версий библиотек одновременно, т.е. библиотеки ArchiCAD 25 и ArchiCAD 26 активно используются в офисе, и, естественно, нет прямой совместимости с скомпилированными бинарными объектами (ArchiCAD 25 не может прочитать объект скомпилировано для ArchiCAD 26).
Спасибо.