子模块的Giteite镜像

问题描述 投票:2回答:1

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

当我从从属服务器克隆存储库(具有子模块)并更新子模块时,将从主服务器克隆子模块。

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

git gitolite
1个回答
2
投票

[一种方法是,例如,在接收后挂钩中,通过.gitmoduleschanging those submodules addresses确保git submodule sync反映足够的子模块地址。

或者,请参见“ Git submodule url changed”和新命令(Git 2.25 +,2020年第一季度)

git submodule set-url [--] <path> <newurl>

[maxmelbin对象:

但是更改.gitmodules表示重新提交-对吗?

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

问题是,由于所有存储库都在从属服务器中镜像,是否有一种方法可以在子模块更新期间自动选择本地存储库URL,而不管在.gitmodules中为该提交配置了哪些站点URL

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

--reference <repository>

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

© www.soinside.com 2019 - 2024. All rights reserved.