[最初添加子模块时,我指定了一个特定的分支,如.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 checkout
正确的分支/提交。然后上一层,然后进入git add
和git commit
目录。这将使用正确的提交检入子模块。
以上答案(@milgner)对我不起作用(git版本2.17.0)。也许我做错了。