个别的代码 release 过程的 git flow:
1. 从 dev 分支创立 release 分支
2. 测试组在 release 分支,开发组在 release 分支修复 bug
3. 提两个 PR,release 分支合并到 main 分支,release 分支合并到 dev 分支
4. 在 main 分支打发版 tag
如果按以上工作流,实践上可能保障合并后,main 分支和通过测试后的 release 分支完全一致。
但理论我的项目中,可能存在 并行操作的问题。比方在第一步创立 release 分支后,有 bugfix 合入了 main,就会导致 main 分支上蕴含 release 分支没有的 commit.
这个问题能够通过查看 main 分支是否是 release 分支上 commit 的子集来解决。
具体能够通过 git 命令来查看。
操作流程:
1、先 git log 查看 main 分支最新的 commitId。2、应用 git branch --contains commitId,看 release 分支是否蕴含 commitId。只有蕴含 commitId,标识 release 上蕴含所有 main 分支上的 commit
这个查看过程能够放到 PR 的 CI 查看里。