1

我已经在网站上搜索了这个问题的答案,虽然我学到了很多东西,但我仍然有一个问题,也许有人可以提供帮助。

我们的 deb 团队有一个从谷歌分支分支的内部 Android 存储库。我们必须与客户合作,因此我设置了一个 cron 作业以在客户可访问的机器上同步 repo。这使内部存储库成为主存储库。

现在,当然,我有客户需要推送更新,他们只能访问外部服务器。这导致了一个难题:如果我不使用“repo sync”来保持外部存储库与内部存储库保持同步,它将有效地消除客户推送到外部存储库镜像的任何更改。

最合乎逻辑的解决方案是让外部成为主服务器并强制内部同步它,但我认为我无法说服 deb 团队这样做。

我曾考虑过提交后挂钩与内部同步,但似乎它们仅适用于单个 git 存储库,我必须找到所有 .git/post-commit 文件才能进行更改。

有没有更简单的方法来实现这一点?

4

1 回答 1

1

您应该将外部 repo 视为内部 repo 的一个分支,并在适当的时候合并您的结果。

这实际上取决于您如何与外部团队合作。

但是我假设您正在处理类似的代码,因此您将在代码审查后合并回内部存储库(?)。

您的内部团队也在本地处理 repos 的分支。他们可能有权也可能无权直接推送到回购 - 不确定。

你必须决定你的合并策略,你在 repos 之间有什么看门人,如果没有,那么你应该设置 2 个 post-receive 钩子,一个在内部,另一个在外部,以保持两个 repos 持续同步(启动向/从另一个回购拉/推)。

如果您在钩子中遇到错误,您最有可能必须手动纠正问题 - 所以请记住发送电子邮件。

于 2013-07-20T08:32:04.700 回答