Как организовать работу с git для нескольких проектов с одним общим?
Здравствуйте
Имеется 3 проекта
- Мобильное приложение для Android с использованием React Native
- Настольное приложение с использованием ElectronJS
- Web-приложение
Проекты по размеру маленькие.
Исходя из того, что все на JS - файлов общих довольно много, часть из которых вполне себе можно выделить в отдельную библиотеку и хранить где-нибудь отдельно.
Нагуглил несколько вариантов:
- Отдельный репозиторий для каждого проекта + `submodules`
- Для каждого проекта отдельная папка
- Для каждого проекта отдельная ветка
Вроде бы и варианты есть, но определиться не в состоянии, скорее всего, от недостатка опыта.
Почему:
- В первом случае вспоминается фраза "как из пушки по воробьям". Ведь проект действительно небольшой (или, по крайней мере, пока небольшой)
- В втором случае, как-то оно все в кучу...
- В третьем случае... Мне кажется, что ветки имеют немного другое предназначение
В общем, я конечно бы мог бездумно ткнуть пальцем в небо и выбрать вариант на который упадет тень.
Но это не дело. Никак не могу вразумить, какой вариант для чего более подходит, для чего менее, а от каких вообще стоит воздержаться.
Собственно, вопрос:
Как организовать работу с git в таком случае и почему именно так?
1) По мне самый оптимальный. Каждый проект независим друг от друга, но их связывает общее "что-то". Легко отслеживать какие изменение в каком проекте были, нет путаницы.
Извините за, возможно, глупый вопрос.
А как насчет случая, если прилетит коммит в общий проект, который потенциально может что-нибудь сломать в остальных проектах?