пробовал. это проблема процессов и управления, и не стоит её решать за счёт реп и кода.
в разрезе бека, это решается раскаткой опеределённых версий сервисов для потребителей завязанных на определённую версию. для общих точек входа - версионированием апи, которое разруливается на гейтвее. а вот самый большой косяк в этой истории - "я нихачу обновлятся, но хочу доработку в старую версию" от проудктовых чуваков - это ата-та и разговор с архитектором на тему "какого х", в беклог задачу на обновление, если нужно срочно берите и городите мешаппер (нефиг свои косяки и тормоза распространять на другие отделы и системы), который будет делать транмформацию до нужной кондиции или обогащения с дургого апи. и попутно ведём ADR каким-либо образом, чтобы не запутаться
системы и контура предприятия должны быть изолированны по максимуму, чтобы потом вся организация не сыграла в домино, от очередных чуваков, которые не могут осилисть обновление и разруливание своих зависомстей от других систем. монорепа очень способствует неявной куче мале.
а про шаринг комопнентов это вопрос кульутруы и архитектоуры - для либ, обмазываемся innersoruce подходом, для сервисов версионированием, документацией и в идеале стремиимся к service mesh. а монорепа - это костыль как ни крути, имхо. не стоит пытаться адаптировать чьё-то 'исторически сложилось'. "вот у гугла так..." - ты гугл что ли, а?
(всё сказанно в контексте бека, если речь про большой и сложный декстоп, где хуева тучу фичей и команд, например, то я тут не копенгаген)