2015-04-26 49 views
1

当我最初加入我的子模块,我指定一个特定的分支,如.gitmodule文件中看到:更改现有子模块的分支

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

我想改变我的子模块的主分支,所以我改变在.gitmodulesmaster分支从release-1.0,并有很好的措施,刚删除的子模块从我父母的git树:

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

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

我错过了什么步骤来切换我的子模块的分支?

回答

2

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

不要忘记在更新它们后在其他客户端上运行git submodule update --recursive

+0

完美。谢谢! –