#git #git_submodule
Есть внешний репозиторий в котором реализован базовый функционал по работе с бд, в дальнейшем буду называть его DAL — слой доступа к данным). Создаю новый проект, подключаю DAL в качестве модуля: git submodule add ../Projects/DataAccessLayer DAL В текущем проекте мне необходимо его немного допилить напильником, данные изменения уникальны в рамках текущего проекта, в основном репозиторий DAL они мне не нужны. Как правильно организовать/сделать такую работу? UPD.: На текущий момент я построил свою работу так: Создаю новую ветку: git checkout -b НоваяВетка; Делаю необходимые мне изменения: добавляю новые классы, реорганизую, ну и т.п.; Индексирую изменения, комичу: git add ... -> git commit -m 'Здесь какой то текст'; Вливаю изменения в главную ветку: git checkout master -> git merge НоваяВетка; Повторяю с начала списка по мере рефакторинга, добавления нового функционала; UPD2 Master v.0.1 | \ | \ | \ | \ | v.0.1 | / | dal | / | / Master т.е. я подключаю модуль в ветке dal, улучшения модуля dal делаем в ветках которые пойдут от dal я правильно понял?
Ответы
Ответ 1
Вариант 1. Подумайте, можно ли допиливание осуществить за счет конфигурации? Например, вынести разные константы в отдельный конфиг. В составе субмодуля у вас будет один конфиг с дефолтными значениями, а в конкретном проекте — второй, в котором некоторые из значений могут быть переопределены. Тогда необходимость вносить изменения в субмодуль исчезнет. Вариант 2. Сделайте в субмодуле новую ветку, специфическую для этого проекта. Вносите изменения в нее. Если вы внесете какие-то общие изменения в DAL и захотите обновить их в репозитории, то вам нужно будет обновить master, а потом сделать rebase ваших изменений на новый последний коммит. Было: master feature Y | C X | / B | A Станет: master feature Y' | X' / C | B | A
Комментариев нет:
Отправить комментарий