у нас есть репо для наших клиентов и мы используем некоторое программное обеспечение с открытым исходным кодом (более 50 репо), и в течение долгого времени разработки и обслуживания существует множество локальных модификаций, которые так настроены и не могут перейти в апстрим (эти репо) также необходимо своевременно обновить и объединить CL безопасности).
На данный момент мы используем два способа обслуживания, оба имеют свои преимущества и недостатки:
Просто поместите локальные исправления в локальную ветвь и объедините новую версию, если это необходимо. (Обновление является сложным, история коммитов уродливой, а коммит решения конфликтов содержит смешанный код для разных коммитов. Но проще для ежедневного развития)
Сохраняйте чистыми списки исправлений в каждом репо и объединяйте их при сборке (обслуживание списка исправлений не легко для всех в команде, и не удобно просматривать код в повседневной разработке, но его легко узнать / проверить локальное исправление, также легче отлаживать)
Я также рассматриваю способ создания новых локальных репозиториев и перебазирования патча, но способ репозитария del / add уродлив и локальная кодовая база конфликтует.
Есть ли у кого-нибудь лучшие практики по ведению местной ветки и хороший способ поддержки?
Спасибо