Подтвердить что ты не робот

Автоматически зеркалировать репозиторий git

Одним из побочных эффектов использования внешнего репозитория Subversion было получение автоматических резервных копий на стороне при каждой фиксации.

Я хотел бы добиться того же, используя Git.

то есть. каждая фиксация в моем локальном репозитории автоматически переходит к внешнему, поэтому два репозитория всегда находятся в синхронизации.

Я предполагаю, что крюк после фиксации - это путь. Есть ли у кого-нибудь конкретные примеры этого?

4b9b3361

Ответ 1

Я написал пост-фиксацию для этой цели. Сам крючок прост; просто добавьте файл с именем post-commit в каталог .git/hooks/ со следующим содержимым:

git push my_remote

Файл post-commit должен быть выполнен. Также убедитесь, что вы добавили подходящий remote с именем my_remote для этого, чтобы этот хук работал.

Я также создал символическую ссылку с именем post-merge, которая указывает на post-commit. Это необязательно. Если вы это сделаете, вы автоматически синхронизируете и после слияния.

ОБНОВЛЕНИЕ:. Если вы хотите, чтобы ваш сервер и ваше зеркало не выходили из синхронизации, и убедитесь, что все ветки также скопированы, ваш крюк post-commit может использовать:

git push my_remote -f --mirror