У нас есть базовая система, настроенная для каждого клиента. База живет в своем собственном репозитории, и каждый клиент живет в своем собственном репозитории (первоначально клонированном из базы).
Цель состоит в том, чтобы иметь возможность добавлять исправления / функции ошибок в базу, которые можно распространять на клиентов по спрос.
До сих пор рабочий процесс был следующим:
git commit -m "Исправить опечатку администратора"
git merge base / master
. Очевидно, это включает в себя исправление любых конфликтов между базой и настройками клиента. git push origin origin master
git pull --rebase origin master
Именно в этот момент у нас возникают значительные проблемы с этим pull / rebase. Разработчики получают конфликты при извлечении / перебазировании после слияния базы с клиентом. И это не просто несколько конфликтов, это много (для многих коммитов, которые воспроизводятся?), И часто код, который конкретный разработчик даже не коснулся. Я думаю, что это неразумно и неустойчиво.
Какое здесь лучшее решение?
Моя единственная мысль - перестать использовать rebase при извлечении и иметь дело с неаккуратными и трудно читаемыми журналами, но я бы предпочел не делать этого. сделай это. Эти клиентские проекты могут существовать годами, и я бы хотел иметь возможность еще больше разобраться в слияниях базовых систем в будущем.