синхронизация нескольких удаленных репозиториев git - PullRequest
2 голосов
/ 01 октября 2011

У нас есть:

  1. Удаленный репозиторий с некоторым проектом.
  2. Несколько удаленных репозиториев, которые я хочу синхронизировать с предыдущим.

Когда что-то выдвигается в первом проекте (1), мне нужно перенести эти изменения в другие удаленные репозитории (2).

Я могу вытащить из первого репо и отправить в репозитории назначения.

Какой самый простой способ сделать это?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 02 октября 2011

Вы можете клонировать новый репозиторий без зеркала из вышестоящего репозитория, который вы не можете контролировать, например:не является строго обязательным.) Опция --mirror говорит, что вместо того, чтобы просто брать локальные ветви с удаленного компьютера и делать их удаленно отслеживаемыми, git должен отражать все ветви из удаленного репозитория с одинаковыми именами.

Затем вы можете настроить частое задание cron, которое будет запускать следующие команды в этом хранилище:

git remote update
git push --mirror --force repo1 
git push --mirror --force repo2

Это предполагает, что вы добавили repo1 и repo2 в качестве удаленных, и чтоони указывают на пустые репозитории, которые вы хотите использовать только в качестве зеркал.(Последнее требование заключается в том, что вы используете --force, поэтому, если другие люди перенесут свою работу на repo1 или repo2, она будет перезаписана автоматическими зеркальными нажатиями.)

1 голос
/ 01 октября 2011

Вы можете установить post-receive hook в первом удаленном репозитории, который затем будет перетаскивать из вашего первого удаленного репозитория каждый из остальных.

...