如何使用fastlane基于Bitbucket提交记录生成变更日志
用Fastlane基于指定关键词提交生成Bitbucket变更日志
Fastlane的changelog_from_git_commits工具本身支持通过正则匹配过滤提交内容,刚好可以用来筛选符合Conventional Commits规范(feat:、fix:这类前缀)的提交,同时保留排除合并提交的功能,具体实现步骤如下:
1. 核心参数配置
直接在Fastfile中使用changelog_from_git_commits时,重点配置两个关键参数:
match_pattern: 用正则表达式匹配你需要的提交前缀,比如feat:、fix:、docs:等exclude_merges: true: 排除合并提交(显式声明更稳妥)
2. 具体代码示例
以下是Fastfile中的完整配置片段,可直接嵌入到自定义lane中:
lane :generate_changelog do changelog_from_git_commits( match_pattern: /^(feat|fix|docs|chore|refactor|test): /, # 匹配指定前缀的提交 exclude_merges: true, # 排除合并提交 output_file: "./CHANGELOG.md", # 生成的变更日志文件路径 between: ["v1.0.0", "HEAD"] # 可选:指定提交范围,比如从某个版本到最新提交 ) end
3. 正则表达式说明
上面的正则/^(feat|fix|docs|chore|refactor|test): /会匹配以指定关键词开头,且后面跟冒号和空格的提交信息,完全贴合Conventional Commits的格式要求:
^:匹配提交信息的开头(feat|fix|docs|chore|refactor|test):枚举你需要的提交类型关键词::确保关键词后是规范的冒号加空格(避免误匹配含这些词的普通提交)
如果需要调整关键词,直接在括号内添加或删除即可,比如要加perf:就改成(feat|fix|docs|chore|refactor|test|perf):
4. 运行验证
在终端执行以下命令触发lane:
fastlane generate_changelog
执行完成后,打开指定的CHANGELOG.md文件,就能看到只有符合前缀要求的提交被收录进去,合并提交会被自动排除。
内容的提问来源于stack exchange,提问作者ZHSX
相关产品推荐
相关产品推荐

