如何指定GitLab';是否将CI子模块设置为仅在主分支上使用提交?

如何指定GitLab';是否将CI子模块设置为仅在主分支上使用提交?,git,gitlab,gitlab-ci,Git,Gitlab,Gitlab Ci,我通过GitLab的集成CI实现了自动部署管道设置: (1) 我有一个带有GitLab runner的CentOS服务器(使用shellexecutor) (2) 我有一个存储库,其中包含一个.gitlab ci.yml文件和一个指定两个存储库的.gitsubmodules文件 (3) My.gitsubmodules文件指定每个子模块的master分支,如下所示: [submodule "api"] path = api url = ../api.git branch

我通过GitLab的集成CI实现了自动部署管道设置:

(1) 我有一个带有GitLab runner的CentOS服务器(使用
shell
executor)

(2) 我有一个存储库,其中包含一个
.gitlab ci.yml
文件和一个指定两个存储库的
.gitsubmodules
文件

(3) My
.gitsubmodules
文件指定每个子模块的
master
分支,如下所示:

[submodule "api"]
    path = api
    url = ../api.git
    branch = master
[submodule "client"]
    path = client
    url = ../client.git
    branch = master
我直接在子模块目录(
/client
/api
)中工作

我希望父目录(即包含两个子模块的“部署”存储库)真正只反映对子模块主分支的更改。但是,我发现这并没有发生(如果这有帮助的话……在使用repo一段时间后,我将
.submodules
文件更改为
branch=master

当我将部署项目推送到GitLab时,我发现子模块设置包括任何分支的最新提交,而不是我想要的主分支

我在
.gitlab ci.yml
文件中有这样一个选项,用于指定如何设置子模块:

GIT_SUBMODULE_STRATEGY: recursive
我做错了什么?例如,我如何在
.gitlab ci.yml
文件中指定我只想使用子模块的主分支


这个答案:对我不起作用。

我似乎可以通过指定
--remote
:

git submodule update --remote --recursive
根据这个答案:

不过我觉得这有点不太对劲,如果有更好的方法,我希望有更好的方法