#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
Комментариев нет:
Отправить комментарий