Я планирую использовать модель ветвления Винсента Дриссена, которую я нашел отличной для моей текущей разработки. Я думаю, что подход Винсента является очень общим для любого проекта разработки, но я нахожу его трудным для следующего сценария.
Я работаю над приложением, которое будет брендировано для нескольких клиентов, поэтому каждая из моих связок - это отдельная ветка, которую я rebase
из develop
ветки каждый раз, когда выходит новая сборка. У каждого бренда есть свои активы (изображения и текст), и они не конфликтуют с изменениями в ветке develop
, потому что в этой ветке я никогда не трогаю активы.
Мой вопрос в том, что теперь, когда я планирую использовать его, как я могу обрабатывать различные версии, основанные на одной и той же кодовой базе, но с различными активами?
Если каждый бренд имеет независимые активы, то вы можете создать каждую клиентскую ветку из develop
и затем pull
вносить в нее будущие изменения по мере необходимости. Отдельные активы могут быть созданы, отредактированы и зафиксированы в соответствующей ветке клиента.
Приятным побочным эффектом этого является то, что вы можете иметь общие активы на develop
, если это имеет смысл.
В зависимости от того, насколько распределена ваша разработка, вы можете рассмотреть pull
выборку из master, а не rebase
выборку. Вы не захотите rebase
, если коммиты рассылаются по другим репозиториям.
Резюмируя: изменения кода на develop
; изменения активов на customer-X
; иногда pull
с develop
на customer-X
. Отсортировано.