更改现有子模块的分支

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

[最初添加子模块时,我指定了一个特定的分支,如.gitmodule文件所示:

[submodule "externals/grpc/grpc"]
    path = externals/grpc/grpc
    url = [email protected]:me/grpc.git
    branch = release-1.0

[我想更改为子模块的主分支,因此我将.gitmodules中的分支从release-1.0更改为master,并且在很好的情况下,从我的父git树中删除了子模块:

cd $submodules
rm -rf grpc
cd $gitroot
git submodule sync
git submodule update --init --recursive

现在,当我回到子模块时,它仍然是从release-1.0分支上的提交而不是最新的主提交中检出的。

我缺少切换子模块分支的哪些步骤?

[最初添加子模块时,我指定了一个特定的分支,如.gitmodule文件中所示:[子模块“ externals / grpc / grpc”] path = externals / grpc / grpc url = [email protected]:me / grpc ....

git git-submodules
2个回答
5
投票

进入子模块所在的目录,并git checkout正确的分支/提交。然后上一层,然后进入git addgit commit目录。这将使用正确的提交检入子模块。


0
投票

以上答案(@milgner)对我不起作用(git版本2.17.0)。也许我做错了。

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