2013-03-18 124 views
0

我正在寻找同步多个远程副本的裸副本的git存储库,例如,如果开发人员添加或更新了一个远程分支,这些更改也会使其与其他远程同步。举个例子:同步远程存储库

开发人员A将新分支“test-dev”推送到它们的原点。开发人员B(我)从我的“本地”远程设备(取决于开发人员A的起源)获取所有内容,并且git通知我新的测试开发分支。要手动获取测试开发推到我的“网络”遥控器,我可以退房的分支,然后按下它,或者我可以传递的Refspec当我打电话的git:

git push network local/test-dev:refs/heads/test-dev 

测试-Dev分支现在显示出来,当有人从远程我拉来/取/克隆我称之为“网络”。一小时后,开发人员A将一些重要更改推送到test-dev。然后,我可以获取并合并(或只是拉)更改,然后将更新后的更改推送到网络,就像我之前做的一样,通过检出更改或使用refspec。

有什么办法可以使这个过程自动化吗?一旦一个新的分支出现,或者对现有分支进行了更改,我想要一些简单的命令从指定的远程获取这些新信息,然后使用第二个命令将其推送到所有其他遥控器。如果它必须脚本化,那就这样吧,但是我希望有一些参数可以传递给我现在看不到的git命令。

回答

1

有什么办法可以自动化这个过程吗?

是的,这是Git的一个功能hooks

您应该阅读链接到此处的页面以获得对它们的感受,并且我会告诉您,您希望在要使用的服务器上实现post-receive挂钩作为其他规范的引用。如果人们可以推送到多个服务器,那么你也需要在这些服务器上实现钩子。

+0

啊,愚蠢的时刻。我之前使用过钩子一次或两次,所以我不确定为什么我没有想到这一点。我将不得不确保为此设置单独的ssh密钥,但是这应该工作得很好。谢谢! – Amazingant 2013-03-18 16:26:27

相关问题