首页 > 解决方案 > git子模块没有使用指定的分支

问题描述

我无法让子模块检查正确的分支,它们总是以特定的旧提交结束。

示例:我有一个包含 3 个子模块的仓库,链接在 .gitmodules 中:

[submodule "repo-web"]
    path = repo-web
    url = git@github.com:Project/repo-web.git
    branch = task/test_install
[submodule "report-templates"]
    path = report-templates
    url = git@github.com:Project/report-templates.git
    branch = master
[submodule "Project-python"]
    path = Project-python
    url = git@github.com:Project/Project-python.git
    branch = dev

当我重新安装 repo 并通过以下任一方式下载子模块时

git submodule update --init --recursive --remote
or
git clone --recursive https://github.com/Project/repo.git

子模块似乎与特定的提交相关联,它们三个总是以一个分离的头结束。另外,当我在 Github 上查看它们时,它们都有格式

repo-web @ ce80174

这是他们链接到的提交。

.git.config:

[submodule "repo-web"]                                                                                                                                                                            
       url = git@github.com:Project/repo-web.git

如何获得正确的分支?

标签: gitgithubgit-submodules

解决方案


推荐阅读