保持2个远程存储库始终保持同步

时间:2013-03-28 15:55:16

标签: git github

我在github中有一个组织帐户,其中有一个名为A的存储库。 由于github为用户提供了较差的ACL,我希望有一个名为B的另一个存储库与存储库A同步。

存储库B还必须:

  • 让所有分支与A同步。
  • 拥有A
  • 的所有提交历史记录

基本上,存储库B必须是A的备份。

我需要这个,因为我需要在Repository B上设置不同的ACL。

实现这一目标的最佳方法是什么?

更新: 我试过这个:

git clone B
git remote add upstream A
git fetch upstream
git merge upstream/master
git push origin master

这实际上有效:B中的主人与A中的主人同步,但我不知道如何用A中的分支来实现这一点。

1 个答案:

答案 0 :(得分:-2)

由于您说“存储库B必须是A的备份”,我假设B是只读的。如果是这样,您可能想要使用“镜像”。即像这样设置你的B回购:

git clone --mirror A

然后

git remote update 

每当您需要更新B.

但有几点注意事项:

  • 执行更新时,B(如果有)将丢失。
  • 最近KDE项目向我们求助,镜子是too perfect。因此,如果A以某种方式变得腐败,那么B也可能反映出腐败......为了备份,您可能想要查看这个问题的答案:Backup a local git repository