代码release过程的分支检查

一般的代码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检查里。

作者:一句话原文地址:https://segmentfault.com/a/1190000043411131

%s 个评论

要回复文章请先登录注册