git - 使用 git-flow 更新子模块

标签 git git-submodules git-flow

当使用 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/

相关文章:

windows - 如何跟踪不同目录中的 git 存储库?

git - 在 git checkout-index 中也包括子模块

git - 是否有一个 gitflow 流程用于分支和错误修复与发布分支?

在 Visual Studios 中克隆存储库时出现 Git 流错误

css - 连续文件损坏包含 Django 元素的多个 GIT 存储库

git - 使用Git命令行提示 "[master +1 ~0 -0 !]>"是什么意思?

git - 如何使用 libgit2 将 git 子模块添加到代码中的 super 项目

用于多个暂存/生产环境的 git-flow

git - Git 存储库的远程列表?

git - 在 git diff 中同时显示暂存树和工作树?