Как работать с монорепозиториями?
Подробный ответ
Что такое монорепозиторий
Монорепозиторий — это один Git-репозиторий, в котором живут несколько сервисов, библиотек или приложений. Это упрощает общий рефакторинг, но увеличивает сложность процессов вокруг CI, ревью и релизов.
Что важно в монорепо
ограничивать область изменений по путям;
запускать CI только для затронутых компонентов;
использовать ownership по директориям или пакетам;
вести понятную стратегию версий и тегов;
держать историю линейной, если это важно для bisect и релизов.
Основные инструменты
Для монорепо обычно нужны path filters, dependency graph, selective builds, code owners и tooling для версионирования отдельных пакетов. Без этого репозиторий быстро становится тяжёлым в поддержке.
Как ответить на собеседовании
В монорепозитории я стараюсь ограничивать проверки только затронутыми частями проекта, использовать ownership по путям и отдельно продумывать релизы для компонентов. Иначе CI и ревью становятся слишком дорогими.
Оцени свой прогресс