我正在尝试使重复出现的工作场所方案自动化。
我有一个仓库myRepo
,其中包含一个子模块mySub
。我为myRepo
创建了一个新分支,称为myRepoBranch
,还为mySub
创建了一个新分支,名为mySubBranch
。我在两个分支中都提交了更改,并将其提交给拉取请求。
出现问题时,myRepoBranch
中的代码直接取决于mySubBranch
中的代码。如果在提交请求请求后我结帐了master并运行git pull
和git submodule update
,则mySub
将不再指向mySubBranch
。此行为是预期的,并且对于master而言是完全好的。但是,如果需要再次检出myRepoBranch
,则还必须手动检出子模块mySubBranch
。
是否有一种方法可以自动执行此手动子模块检出?是否可以将特定的子模块分支绑定到特定的主回购分支?
答案 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