git/gitolite: большой репозиторий git с несколькими мини-проектами

git/gitolite: большой репозиторий git с несколькими мини-проектами

Я довольно новичок во всем этом деле контроля версий, а тем более в git. Недавно я установил git на свой компьютер(ы) и настроил его на NAS-сервере.

Однако у меня есть несколько клиентских папок с несколькими папками проектов в каждой клиентской папке.

Каждая из этих клиентских папок представляет собой гигантский репозиторий, охватывающий все проекты внутри него.

Мне интересно, есть ли способ разбить это на части? Например:

  1. NAS — это мой «источник», и на нем установлен Gitolite.

  2. На компьютере 1 у меня есть все папки проектов в клиентской папке, когда-либо созданные (чистая ветка),

  3. В компьютере2 я делаюнетновую проверку клиентской ветки (потому что все проекты в этой ветке завершены и мне не нужна ее рабочая копия), но яделатьсоздайте совершенно новую папку проекта для этого клиента «newproject».

Есть ли способ зафиксировать и отправить изменения в репозиторий NAS с компьютера2?

Или, может быть, есть лучший способ все это организовать?

решение1

Лучшая организация репозиториев Git — иметь один репозиторий на каждый клиентский проект (т. е. несколько репозиториев в клиентских папках: один .git в каждом подкаталоге клиентской папки, который соответствует корневому каталогу проекта).

Идея создания одного гигантского репозитория на клиента не обязательно является хорошей идеей, особенно:

  • если эта папка состоит из проектов, которые могут развиваться независимо друг от друга.
  • если общая сумма огромна по объему (что означает, что любой клон будет большим)

Если некоторые из этих проектов связаны между собой, вы все равно можете рассматривать их как один (родительский) репозиторий с понятиемподмодули.

Связанный контент