Пара замечаний о вашей ситуации. В отличие от SVN и других традиционных систем управления исходным кодом, Git в первую очередь предназначен для размещения 1 проекта на репо . Это ни в коем случае не является жестким правилом, есть способы разместить исходный код из более чем одного проекта в одном репозитории Git. Но вот две причины, по которым стоит использовать вместо Git subtree
или submodule
.
1.) Поскольку Git является распределенной системой управления исходным кодом, репозитории могут увеличиваться в размерах гораздо быстрее. Это может сделать клонирование репо большой болью.
2.) Поскольку Git commit
- это фиксация всего репо, а не только подпапки, merge
в master
(или эквивалентную) ветвь может стать сложной для новичка. И history
ветви может быть более сложным, чтобы понять, что действительно изменилось в наборе коммитов.
Может быть полезно дать команде разработчиков полного стека один репо для клонирования, чтобы работать над всем решением. В вашем случае я мог бы рассмотреть репозиторий «host», который содержит subtrees
или submodules
для репозиториев Git, содержащих различные компоненты решения полного стека. Это позволило бы разработчику сделать один клон и получить полный исходный код.
Я предлагаю использовать submodule
, если компоненты тесно связаны и часто меняются синхронно. Используйте subtree
, если компоненты интегрируются реже и / или по заданному графику выпуска.