所以我有一个带有一堆子模块的仓库。我只想更新其中之一,但是我想更新到最新的提交,我知道它位于名为origin / mybranch的分支的尖端。我要更新的子模块是mysubmodule(例如)
首先,我尝试了这一点:
git submodule update --remote -- mysubmodule
这有点麻烦,因为它似乎签出了最新的origin / master分支(它已经很老了)。
所以我阅读了一些git文档,这似乎是默认行为-足够公平!
但是如何检出具有分支原点/ mybranch的远程提交?
我尝试过类似的事情:
git submodule update --remote --checkout mybranch -- mysubmodule
git submodule update --remote --checkout origin/mybranch -- mysubmodule
但是我还没有弄清楚:(
答案 0 :(得分:0)
您可以为子模块设置getfield(s,result{:})
选项,以便跟踪要更新的子模块分支。这意味着branch
文件中发生了更改。
.gitmodules
例如
git config -f .gitmodules submodule.<path>.branch <branch>
设置完毕后,下次运行git config -f .gitmodules submodule.mysubmodule.branch mybranch
时,git子模块将检出分支指向的提交(分支上的最新提交)。
可以在添加子模块时进行设置:
git submodule update --remote...