资源描述
gitmoji-changelog 是一款专为采用 gitmoji 规范提交的项目设计的自动化 Changelog 生成工具。它基于 Git 提交历史解析 emoji 类型(如 ✨、🐛、🚀),自动生成结构清晰、语义明确的版本更新日志,显著提升开源项目透明度与团队协作效率。适用于遵循 Conventional Commits + gitmoji 规范的 GitHub/GitLab 项目,支持 CI/CD 集成,是 DevOps 流程中标准化发布文档的关键环节。
详细内容
## 工具定位与核心价值
gitmoji-changelog 是一个轻量级 CLI 工具,专为严格遵循 [gitmoji](https://gitmoji.dev/) 提交规范的代码仓库设计,用于自动化提取、分类并渲染符合语义化版本(SemVer)节奏的 Changelog。其核心价值在于:
- **语义驱动**:利用 gitmoji 的 emoji 映射(如 `✨` → Features、`🐛` → Bug Fixes)实现提交类型的自动归类;
- **零配置友好**:默认适配标准 gitmoji 规范,支持自定义 emoji 映射与标题模板;
- **发布就绪**:输出 Markdown 格式 Changelog,天然兼容 GitHub Releases、Readme 插入及 CI 自动化(如 GitHub Actions)。
## 主要功能列表
- ✅ 基于 Git 标签(tags)或 commit range 生成增量 Changelog;
- ✅ 按 gitmoji 类型自动分组条目(如 Features、Bug Fixes、Breaking Changes、Documentation 等);
- ✅ 支持自定义输出模板(通过 `.gitmojichangelogrc` 或 CLI 参数);
- ✅ 内置 GitHub/GitLab 提交链接自动转换(如 `abcd123` → `https://github.com/owner/repo/commit/abcd123`);
- ✅ 可集成至 `npm run changelog` 或 CI 流水线(例如在 `release` 分支推送后触发);
- ✅ 兼容 Windows/macOS/Linux,无运行时依赖(Node.js 环境)。
## 典型使用场景
- 开源项目维护者需定期发布带可读性日志的 GitHub Release;
- 团队推行 gitmoji 规范后,希望消除手动编写 Changelog 的重复劳动;
- CI 流程中自动更新 `CHANGELOG.md` 并提交,确保文档与代码同步;
- 技术文档站点(如 Docusaurus、VuePress)需动态嵌入最新版本变更摘要。
## 上手步骤与操作要点
1. **安装**(需 Node.js ≥ 14):
```bash
npm install -g gitmoji-changelog
# 或使用 npx 快速执行(无需全局安装)
npx gitmoji-changelog
```
2. **基础生成**(当前仓库最新 tag 至 HEAD):
```bash
gitmoji-changelog
```
3. **指定范围生成**(如 v1.2.0 → v1.3.0):
```bash
gitmoji-changelog --from v1.2.0 --to v1.3.0
```
4. **写入文件并追加到 CHANGELOG.md 头部**:
```bash
gitmoji-changelog --output CHANGELOG.md --prepend
```
5. **进阶配置**:创建 `.gitmojichangelogrc.json` 自定义 emoji 分组、标题文案或忽略特定提交前缀(如 `chore:`)。详细配置参考 [官方文档](https://docs.gitmoji-changelog.dev/#/configuration)。