2015-09-14 3 views
4

Как сохранить синхронизацию двух git-репозиториев?Синхронизация репозиториев Git

Первый репозиторий - это «центральный» репозиторий, используемый командой для изменения изменений, созданных после the git book guide. Второй репозиторий будет только зеркалом первого.

Я использую git с ssh, и изменения должны быть перенесены только из первого репозитория, поскольку он находится за защищенной сетью.

+0

git не пускает пустые каталоги. поместите некоторый файл, называемый как (например, .empty) в нем –

+0

, как первый репо может быть голым репо, если вы вносите в него изменения? Я не уверен, что вы спрашиваете? – pcantalupo

+0

@pcantalupo Я исправил вопрос, так как меня смутило команду -bare, используемую для ее создания. – lifeisfoo

ответ

1

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

Чтобы создать такой крюк, поставить скрипт (любой сценарий, язык/переводчик определяется притон в верхней части) с именем post-receive в папке hooks под .git (или по основному репо, если это голый). В крючке, выполнить команду, чтобы нажать на пульт дистанционного управления вы заинтересованы в примере сценарий может быть следующим:.

#!/bin/sh 
git push mirror 

Здесь mirror это имя зеркала удаленных в соответствии с настройками в главном хранилище.

Смежные вопросы