You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何生成适配项目发布说明的Git提交记录?有对应脚本或工具吗

Git 发布说明生成方案

现有工具选择

  • conventional-changelog:适配约定式提交规范,支持自定义模板,可直接输出分类后的提交列表,自动提取提交哈希、关联模块、PR编号等信息。
  • git-cliff:轻量命令行工具,通过配置文件可完全自定义输出格式,即使项目没有统一提交规范也可以通过规则匹配做分类聚合。
  • release-please:支持自动版本管理 + 发布说明生成,内置分类规则可按需调整。

轻量Shell脚本实现

如果不想引入额外依赖,可直接使用以下自定义脚本,修改过滤规则即可匹配你需要的输出格式:

#!/bin/bash
# 调用方式:./gen-release.sh <上个版本tag> <当前版本/HEAD>

PREV_TAG=$1
CUR_VER=${2:-HEAD}

# 自定义格式可修改--pretty参数
LOG_FORMAT=" - %h [%an]          %s"

echo "破坏性变更(BREAKING CHANGES):"
git log --pretty=format:"$LOG_FORMAT" $PREV_TAG..$CUR_VER | grep -i "break\|deprecat\|废弃\|移除"
echo -e "\n新功能(Features):"
git log --pretty=format:"$LOG_FORMAT" $PREV_TAG..$CUR_VER | grep -i "feat\|新增\|feature"
echo -e "\n问题修复(Bug fixes):"
git log --pretty=format:"$LOG_FORMAT" $PREV_TAG..$CUR_VER | grep -i "fix\|bug\|修复"
echo -e "\n文档更新(Documentation):"
git log --pretty=format:"$LOG_FORMAT" $PREV_TAG..$CUR_VER | grep -i "doc\|readme\|文档"
echo -e "\n其他变更(Other changes):"
git log --pretty=format:"$LOG_FORMAT" $PREV_TAG..$CUR_VER | grep -v -i "break\|deprecat\|废弃\|移除\|feat\|新增\|feature\|fix\|bug\|修复\|doc\|readme\|文档"

内容的提问来源于stack exchange,提问作者Ankur Loriya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 21:48:03