将子模块添加到父项目的每个分支

时间:2019-01-02 03:42:05

标签: git-branch git-submodules git-untracked

我有一个名为channel的项目,该项目只有一个分支-master。我还有一个名为bigTest的项目,它有四个分支-master,dev,stable,release。
现在,我想将channel添加到bigTest的根目录中,作为bigTest每个分支的子模块。我对每个四个分支使用git submodule add <url>。但是我得到了 modified: channel (untracked content)并修改了.gitmodules并附加了branch = dev,即使我在dev分支上使用了git config -f .gitmodules submodule.channel.branch dev
为了将子模块母版添加到项目的多个分支中,我应该怎么做?谢谢!

1 个答案:

答案 0 :(得分:1)

submodule.channel.branch仅应设置为master,因为远程子模块存储库(通道)始终只有一个分支可以跟随。

声明后,由于.gitmodules已更改,并且需要创建代表通道根文件夹的gitlink(索引中的特殊条目),因此需要从bigTest进行添加,提交和推送。

  

但是git status显示:当我结帐Untracked files: (use "git add <file>..." to include in what will be committed) channel/的{​​{1}}时,master

OP查明原因:

  

是的,我在子模块文件夹中编译并生成了一些东西。
  我可以得出结论,如果从子模块创建了新内容,则Git将显示未跟踪的内容。

我建议将产生的内容放入子模块的bigTest中。