Комментарии 1
А почему бы не уменьшить связность частей проекта (та же микросервисная архитектура подойдёт) и не использовать Git Submodules?
Т.е. каждая команда будет иметь собственный репозиторий, будет иметь свои права доступа и может быть даже свой CI/CD. Так им не придётся тащить к себе весь код проекта.
И где-то будет общий репозиторий проекта, в котором будут сведены все остальные репозитории в виде submodules.
Слабая связность позволит командам быть независимыми. Общаться с другими частями проекта конкретный сервис будет через стандартизированные и хорошо спроектированные общие каналы коммуникации, которые в идеале практически не должны подвергаться изменениям.
А этот общий репозиторий совершенно отдельная команда сможет в любой момент собрать в изолированной тестовой среде и проводить анализ и тесты проекта вцелом.
Это лично моё видение. Я понимаю все проблемы микросервисов, но при наличии грамотного менеджмента и здоровой культуры разработки эти недостатки могут быть минимизированы.
Хранение кода в SCM