master
包含子模块 SMMaster
dev
包含子模块 SMDev
feature
创建分支 dev
feature
添加提交feature
合并到 dev
并提交审核feature
合并到 master
master
包含子模块 SMDEV
SMMaster
并提交到 master
master
分支上再次提交,只是为了切换子模块。有没有更好的合并策略?谢谢答案 0 :(得分:1)
您的工作流程的问题是,您将 SMDev
分支用于子模块。 git 的行为是正确且符合预期的。
如果您从 dev 创建 feature
分支,那么您将拥有从 dev 到合并到 master 的所有更改。
如果您要保持工作流程的第一个解决方案是 cherry-pick
而不是合并,但这不是 git 的设计方式...
您是否需要 SMDev
分支才能使用此工作流程进行子模块工作:
feature
分支git add
命令。feature
合并到 dev
feature
合并到 master它为开发人员引入了一些手动工作
你可以设置一些钩子,当你合并到 master 时,这些钩子可以改变你的子模块分支。有关详细信息,请参阅此页面:https://mirrors.edge.kernel.org/pub/software/scm/git/docs/githooks.html#_prepare_commit_msg