В моем проекте (приложение Angular) мы собираем несколько локально созданных артефактов, опубликованных в репозитории npm.
В package.json моего приложения в разделе "зависимости" у меня есть:
"@k/e-lib": "^0.3.0",
"@k/et-lib": "^0.3.0",
"@k/http-interceptors": "^0.3.0",
"@k/notifications": "^0.3.0",
"@k/static-assets": "^0.3.0",
"@k/t-lib": "^0.3.0"
Это внутренние компоненты, которые мы разрабатываем в отдельных репозиториях git.
Когда мы хотим выпустить проект, мы выпускаем главное приложение с компонентами.
Чтобы выпустить релиз, я создаю ветки релиза от Develop во всех репозиториях, чтобы заморозить код. Затем я изменяю версии, скажем, на 0.4.0-0 для всех. Следующим шагом будет создание и публикация артефактов с вышеупомянутой версией и обновление package.json в моем главном приложении.
Как вы справляетесь с этим процессом, вы упрощаете его или выполняете шаги, описанные выше. Второй вопрос После ветвления в ветку релиза, вы меняете текущую версию в ветке разработки на что-то вроде 0.4.1 или увеличиваете ее до 0.3.1 и ждете, пока релиз будет завершен и объединен для разработки.