Существует два варианта: у вас может быть локальный «главный» репозиторий, а затем куча сателлитных «клиентских» репозиториев, настроенных с этим главным репо в качестве их удаленных, или вы можете просто иметь несколько локальных репозиториев, указывающих всена реальном пульте.
Поскольку я уверен, что вы знаете, как сделать последнее (набор git clone
s из разных каталогов), вот инструкции по настройке первого:
Клонируйте пульт.Это будет ваша точка агрегации или «главный» репозиторий.Лучше разобраться (без рабочего дерева), чтобы избежать путаницы:
git clone --bare ssh://user@host/path/to/repo.git repo.git
Затем настройте несколько клиентов на этот:
git clone file:///path/to/local/repo.git
Каждый может быть сам по себеветвь и делай свое дело.Когда вы вносите изменения в одного из клиентов, выполните git push
, чтобы перейти к точке агрегации, а затем из точки агрегации вы можете сделать git push
для сервера.От других клиентов вам нужно будет сделать git fetch
, чтобы получить новые изменения, которые вы выдвинули от других клиентов.