Gitolite镜像子模块

时间:2012-08-22 05:53:13

标签: git gitolite

我尝试设置Gitolite mirroring concept,除了子模块外,一切正常。

当我从奴隶服务器克隆repo(有子模块)并更新子模块时,子模块将从主服务器克隆。

如何使这些子模块也从从服务器克隆?

1 个答案:

答案 0 :(得分:2)

一种方法是,例如在收件后挂钩中,确保.gitmodules反映出适当的子模块地址changing those submodules addresses,然后是git submodule sync

maxmelbin个对象:

  

但更改.gitmodules意味着新提交 - 对吧?

不一定:您可以进行修改而不提交,将其保持为“私有”(从属服务器本地)。

  

问题是,由于所有repo都在镜像中镜像,有没有办法在子模块更新期间自动选择本地repo url,无论在哪个站点中配置url .gitmodules用于该提交

我认为--reference命令的git submodule update参数可以实现这一点。

--reference <repository>
  

此选项仅对添加和更新命令有效   这些命令有时需要克隆远程存储库。在这种情况下,此选项将传递给git-clone(1)命令   注意:除非您仔细阅读note for git-clone's --reference and --shared options,否则请勿使用此选项。