After I git submodule update
它总是检查相同的提交。例如34561
.
I do git checkout master
对于子模块,然后git submodule sync
。然后它指向最新的提交a2344
.
但是之后update
它再次指向提交34561
.
如何改变呢?我的意思是为什么它决定指向该提交而不是另一个?
我的意思是为什么它决定指向该提交而不是另一个?
因为子模块总是将父存储库中的固定 SHA1 提交记录为gitlink (a 索引中的特殊条目).
这就是为什么子模块总是被恢复为分离的 HEAD 分支
您可以配置子模块以遵循分支
cd /path/to/your/parent/repo
git config -f .gitmodules submodule.<path>.branch <branch>
子模块仍将恢复到固定提交,但可以使用以下命令进行更新:
git submodule update --remote
确保在父存储库中添加并提交新的 gitlink(因为将子模块更新到分支的最新版本会更改其 SHA1,在父存储库中记录为 gitlink)。
如果不这样做,您会发现您的子模块在接下来的时候恢复到之前的状态git submodule update --init
.
更多信息请访问 ”Git 子模块:指定分支/标签".
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)