将特定的git子模块分支绑定到特定的主repo分支

时间:2019-05-02 19:54:27

标签: git

我正在尝试使重复出现的工作场所方案自动化。

我有一个仓库myRepo,其中包含一个子模块mySub。我为myRepo创建了一个新分支,称为myRepoBranch,还为mySub创建了一个新分支,名为mySubBranch。我在两个分支中都提交了更改,并将其提交给拉取请求。

出现问题时,myRepoBranch中的代码直接取决于mySubBranch中的代码。如果在提交请求请求后我结帐了master并运行git pullgit submodule update,则mySub将不再指向mySubBranch。此行为是预期的,并且对于master而言是完全好的。但是,如果需要再次检出myRepoBranch,则还必须手动检出子模块mySubBranch

是否有一种方法可以自动执行此手动子模块检出?是否可以将特定的子模块分支绑定到特定的主回购分支?

1 个答案:

答案 0 :(得分:0)

在git 1.8.2+ git submodule add -b branch_name URL_to_Git_repo optional_directory_rename

git 2.10+添加了一个很棒的功能。

  

分支的名称记录为子模块。   .gitmodules用于更新--remote。的特殊值。习惯于   指示子模块中分支的名称应为   与当前存储库中的当前分支同名。

git submodule add -b . URL_to_Git_repo optional_directory_rename

# update your submodule
git submodule update --remote 

How can I specify a branch/tag when adding a Git submodule?