我想将submodule_A放在master中,并将submodule_B放在new_branch上。
但是,在master上,我可以看到repo中的submodule_A和submodule_B。
如何在右分支处分开两个子模块?
感谢回复!!!
注意:我之前使用以下命令。
git submodule add -b new_branch submodule_B;
但是submodule_B仍存在于主分支上。
当我结帐主人时,git显示
warning: unable to rmdir submodule_B
当我签出new_branch时,git会显示
warning: unable to rmdir submodule_A
============================================== < / p>
例如
https://github.com/ShawnHuang/.vim/tree/master/bundle
所有插件都是我的仓库中的子模块。
在分支主机上,我想使用ultisnips。
而且,在branch junk / snipmate上,我想使用snipmate。
我可以在github上将不同分支的两个子模块分开。
但我不能在当地这样做。
答案 0 :(得分:1)
创建新分支
git branch submodule-b
结帐该模块
git checkout submodule-b
添加所有子模块文件并提交它们
git add .
git commit -m 'Submodule new branch created'
去主/子模块一个分支
git checkout submodule-a
答案 1 :(得分:1)
如果你创建2个分支,有2个不同的子模块:
$ git init
$ git checkout -b one
$ git submodule add git@github.com/a/repo.git one
$ git checkout -b two
$ git submodule add git@github.com/another/repo.git two
当不是当前分支的一部分时,它们被简单地视为未跟踪文件。即除非您自己在切换分支时删除未引用的子模块,否则它们将出现在所有分支中:
$ git checkout master
$ ls
one two
$ git checkout one
$ ls
one two
$ git checkout two
$ ls
one two
一个简单的方法来做你要求的只是移动子模块文件夹,只要它不相关:
$ git checkout one
$ mv two .two
$ git checkout two
$ mv .two two
$ mv one .one