Одна из вещей, которые мне нравятся в моей настройке Subversion, заключается в том, что у меня может быть один основной репозиторий с несколькими проектами. Когда я хочу работать над проектом, я могу проверить только этот проект. Как этот
\main
\ProductA
\ProductB
\Shared
затем
svn checkout http://.../main/ProductA
Как новый пользователь для git Я хочу изучить несколько лучших практик в области, прежде чем перейти к определенному рабочему процессу. Из того, что я читал до сих пор, git хранит все в одной папке .git в корне дерева проектов. Поэтому я мог бы сделать одну из двух вещей.
- Настройте отдельный проект для каждого продукта.
- Настройте один массивный проект и сохраните продукты в подпапках.
Существуют зависимости между продуктами, поэтому один массивный проект представляется уместным. Мы будем использовать сервер, на котором все разработчики могут поделиться своим кодом. У меня уже есть работа над SSH и HTTP и той частью, которую я люблю. Тем не менее, в хранилищах SVN уже много GB, поэтому перетаскивание по всему репозиторию на каждой машине кажется плохой идеей - тем более, что нам выставлен счет за чрезмерную пропускную способность сети.
Я бы предположил, что репозитории проекта ядра Linux одинаково велики, поэтому должен быть правильный способ справиться с этим с помощью git, но я еще не понял его.
Существуют ли какие-либо рекомендации или рекомендации по работе с очень большими многопроектными репозиториями?