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

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

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

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

Что мне интересно, есть ли способ разорвать это на части? Так, например:

  1. NAS - мое "происхождение", и на нем установлен гитолит

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

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

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

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

1 ответ

Решение

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

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

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

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

Другие вопросы по тегам