0

我希望将多个遥控器与 git 存储库的裸副本同步,这样如果开发人员在一个遥控器上添加或更新分支,这些更改也会影响到其他遥控器。举个例子:

开发人员 A 将新分支“test-dev”推送到其原点。开发人员 B(我)从我的“本地”远程获取与开发人员 A 的来源相对应的所有内容,并且 git 通知我新的 test-dev 分支。要手动将 test-dev 推送到我的“网络”远程,我可以签出分支然后推送它,或者我可以在调用 git 时传递一个 refspec:

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

当有人从我称之为“网络”的远程拉/取/克隆时,test-dev 分支现在会出现。一个小时后,开发人员 A 将一些重要的更改推送到 test-dev。然后我可以获取并合并(或只是拉取)更改,然后以与以前相同的方式将更新的更改推送到网络,方法是签出更改或使用 refspec。

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

4

1 回答 1

1

有没有办法自动化这个过程?

是的,它是 Git 的一个特性,称为hooks

您应该阅读此处链接的页面以了解它们,我会告诉您您想要在post-receive您想要用作其他人的规范参考的服务器上实现挂钩。如果人们可以推送到多个服务器,那么您也需要在这些服务器上实现挂钩。

于 2013-03-18T16:09:46.430 回答