Git:不同分支

时间:2018-02-06 16:24:08

标签: git git-submodules git-remote

我的项目包含一个子模块submodA。对于branch_dev,子模块的原始URL链接到sub_dev,它是sub_master的分支,但我可以应用修改和提交。对于branch_master,子模块的原始网址链接到sub_master

branch_dev / submodA - 成份,其中> sub_dev --fork - > sub_master

master_dev / submodA - 成份,其中> sub_master

通过这样做,我可以克隆branch_dev并使用sub_dev自动查找我在git submodule update --init --recursive中所做的修改。

我的问题是我的两个分支之间不同的submodA的原始网址不会自动更改,我必须在子模块中手动更改原始网址git remote set-url origin sub_dev或{{1 }}

是否有解决方案在分支之间切换时自动更改子模块的原始URL?我可能会尝试一些过于复杂的事情,所以我也很乐意在这里为我的情况提供其他解决方案。

1 个答案:

答案 0 :(得分:0)

IMO您根本不需要更改原点的URL。添加两个不同的遥控器(其中一个可以称为origin,但这无关紧要)并为每个分支设置不同的上游。像这样:

cd submodA
git branch --set-upstream-to=origin master
git branch --set-upstream-to=origin2 dev

现在您可以在子模块中git push/pull而无需显式命名远程,因此git使用当前已检出分支的上游。