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

652
Jay

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

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

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

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

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

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

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

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

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

1

1 ответ на вопрос

2
VonC

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

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

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

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

Похожие вопросы