1

有没有办法在构建期间更改子模块路径以从不同的存储库中提取?

4

1 回答 1

2

子模块 URL 是.gitmodules在您的 repo 中的文件中设置的,因此您只需要修改该文件中的 URL。

git-config接受一个-f指示配置文件的参数,您可以使用它来指定文件,而不是通常使用.gitmodules的普通文件.git/config或文件。~/.gitconfig使用此选项,您可以使用以下内容修改子模块 URL:

git config -f .gitmodules submodule.<submodule name>.url <new URL>

或者,您可以手动将文件中子模块的 URL 修改为.gitmodules更改后的路径。在 Jenkins 中构建阶段之前的 shell 脚本阶段可以完成修改该文件,如果需要,您可以在git checkout -- .之后恢复原始 URL。

无论哪种方式,您都需要在git submodule sync之后运行以反映包含 repo 中的更改。

于 2013-04-01T21:39:28.520 回答