У нас есть родительский проект, который я назову container
, в контейнере есть несколько подмодулей для каждого из наших продуктов / проектов.
В некоторых проектах используется подмодуль.
Продукт А позволяет называть его Альфа.
Продукт B позволяет называть его бета.
и общая библиотека, назовем ее Common.
Итак, контейнер для продукта А
ContainerA
- productA
- Common
ContainerB
- productB
- Common
Мы в значительной степени следуем GitFlow в обоих этих проектах, наша ветка интеграции называется integration
Что может случиться, так это то, что кто-то вносит изменения в Common в ContainerA, передает его в ветку интеграции в ContainerA, ветку интеграции в productA и ветку интеграции в Common.
Однако ветвь интеграции ContainerB больше не указывает на ссылку интеграции на Common.
Итак, наше git-репо вышло из синхронизации, и для общих изменений не проводится обязательное тестирование.
Это привело к тому, что разработчики лениво подняли версию без тестирования. Фиксируйте сообщения типа «resync», «bump common» и т. Д.
Как сделать так, чтобы «Синхронизировать» фиксацию ContainerB содержал журнал изменений сообщений для изменений субмодуля, которые должны быть зафиксированы?