根据定义,子模块在分离的 HEAD 中签出:它表示在父 repo index中记录为gitlink的特定 SHA1 。
请参阅“ git submodule update
”以确保子模块正在跟踪分支:
# add submodule to track master branch
git submodule add -b master [URL to Git repo];
# update your submodule
git submodule update --remote
# or (with rebase)
git submodule update --rebase --remote
注意:如此处所示,任何git submodule update
命令都会自动分离 HEAD,即使子模块配置为跟随分支。
作为 test add git config submodule.<name>.update
merge,因为默认情况下,更新会签出提交(分离的 HEAD)
user859375在评论中添加:
运行命令“”时,git 子模块在 init 阶段本身被分离git submodule update --init --recursive
。
我了解 git 引用并检查 gitsubmodules 的特定提交。
因此,我们创建了一个脚本来运行“ git submodule foreach git checkout master
”和“ git submodule foreach git pull origin master
”等。
这样我们就可以在本地机器上设置 repo 时保持附加的 head 状态。是的,当我们需要更新子模块以反映远程更改时,
我们运行“ ”。git submodule update --remote --merge