当使用 git 发布版本时,使用 git-flow 模型,我将我的存储库切换为指向 master、tag 中的最新提交,然后从 tag 构建。将存储库的所有 子模块的更改 merge 到 master 中并让它们指向 master(即 master 中的最新提交)是一种好习惯,还是让所有子模块提交保持不变就足够了?
最佳答案
您在 master
上的提交将记录您使用的所有子模块的提交。
如果有人检查您刚刚剪切(和标记)的版本,他们将负责运行 git submodule update
以检查每个子模块的正确提交。
子模块 checkout 总是headless 提交,即通过它们的 SHA-1 哈希值而不是符号引用(分支名称)来寻址。因此,它们指向哪个分支并不重要。
重要的是在( super 项目的)master
上记录了什么提交。
因此,回答您的问题:发布时保留子模块提交不变是可以的。
关于git - 使用 git-flow 更新子模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18355765/