Если членам команды не всегда нужен доступ к каждому проекту, и, возможно, даже если они это сделают, вы, вероятно, захотите создать отдельные репозитории для каждого проекта. Члены команды могут затем клонировать только те хранилища, которые им нужны. Вам не понадобятся подпапки для веток, git управляет самими ветвями, что приятно, так как позволяет членам команды делать такие вещи, как иметь свои собственные частные ветки.
Наконец, что касается совместного использования общего кода, вы захотите поместить каждую единицу общего кода в свой собственный репозиторий, а затем внедрить общий код в каждый проект, который нуждается в нем, используя подмодули , как и предлагал Секати.