README 未给出具体命令示例,安装与用法需查阅官方文档;提交信息需遵循 Conventional Commits 或自行配置解析规则,否则分类可能不符合预期
git-cliff
orhunApache-2.0活跃维护基于 Conventional Commit 规范从 Git 提交历史自动生成高度可定制的变更日志,省去手写 CHANGELOG 的麻烦。
A highly customizable Changelog Generator that follows Conventional Commit specifications ⛰️
cargo install git-cliffREADME 未说明,为纯命令行工具,无 GPU 或显存要求
从 Git 提交历史自动生成可定制 changelog 的 Rust 命令行工具
基于 Conventional Commit 规范从 Git 提交历史自动生成高度可定制的变更日志,省去手写 CHANGELOG 的麻烦。
核心能力
- 按 Conventional Commits 规范解析提交并归类
- 用正则驱动的自定义提交解析器筛选条目
- 通过配置文件自定义 changelog 模板格式
- 支持 monorepo 场景的变更日志生成
容易踩的坑
- v2.14.2Release v2.14.2最新正式版2026-09-18 · 2026-09-18 21:22 UTC
2.14.2 - 2026-09-18
⛰️ Features
🐛 Bug Fixes
- (args) Resolve --workdir to a repo-relative include path (#1369) (#1627) - (094593f)
- (parser) Require all commit parser fields to match (#1616) - (91143b2)
📚 Documentation
🧪 Testing
- (args) Cover configuration file resolution (#1617) - (8fc0aef)
- (git) Disable tag signing when running tests (#1641) - (28c8bab)
⚙️ Miscellaneous Tasks
❤️ New Contributors
- v2.14.1Release v2.14.12026-09-01 · 2026-09-01 14:46 UTC
查看更新说明
2.14.1 - 2026-09-01
⛰️ Features
- (args) [breaking] Discover config when --config is omitted (#1584) - (b367384)
- (args) Add default value for --prepend option (#1549) - (03a9c80)
- (bump) Add no_increment_regex config (#1522) - (61c5e4c)
- (changelog) Support opt-in Markdown formatting (#1610) - (286ea93)
- (cli) Support user-defined templates for --init (#1583) - (b7c25f8)
- (cli) Add --body-file for changelog templates (#1574) - (7437023)
- (context) Add pr_numbers field to RemoteContributor (#1546) - (48fd98f)
- (examples) Add GitLab built-in changelog templates (#1561) - (c92bd16)
- (git) Support limiting processed tags (#1493) - (d13a61c)
- (git) Ignore commits listed in .git-blame-ignore-revs (#1585) - (89247f4)
- (remote) [breaking] Expose the pull request author as
commit.remote.pr_author(#1613) - (017e10b) - (remote) Add configurable HTTP timeout for metadata requests (#1580) - (c559920)
- (template) Add group_by_scope filter (#1547) - (dd5f305)
- (template) Add commit_groups filter for ordered group rendering (#1518) - (8a2a331)
🐛 Bug Fixes
- (args) [breaking] Stop greedy multi-value options from swallowing the positional range (#1614) - (7123bd3)
- (args) Use default help literal color (#1578) - (717e711)
- (bump) Evaluate increment regexes against the commit subject only (#1605) - (fa8000b)
- (bump) Honor no_increment_regex for raw messages ([#1576](https://gith
- v2.13.1Release v2.13.12026-04-26 · 2026-04-26 10:17 UTC
- v2.13.0Release v2.13.02026-04-26 · 2026-04-26 09:32 UTC
查看更新说明
2.13.0 - 2026-04-26
⛰️ Features
- (config) Support more configuration file locations (#1448) - (7d90eee)
- (context) Add per-commit statistics (#1487) - (9d43a15)
- (context) Expose determined bump type in release context (#1483) - (3e97e75)
- (docker) Apply latest tag to stable only (#1371) - (9d2a52a)
- (git) Add configurable commit processing order (#1485) - (ead5587)
- (remote) Add environment variable for offline execution (#1427) - (2d53920)
- (tracing) Migrate logging to tracing (#1488) - (b71d250)
🐛 Bug Fixes
- (args) Correctly parse multiple env values for include/exclude paths (#1450) - (f1874b8)
- (cd) Publish musl wheels to PyPI by matching matrix.build.NAME (#1490) - (9b5e732)
- (cli) Warn when
--with-commitdoes not change version (#1484) - (3d6a7cb) - (docs) Use updated usage of
doc_auto_cfgand fix internal link (#1373) - (0a0a795) - (npm) Use
require.resolveto resolve binary path (#1392) - (39cd76e) - (remote) Deserialize GitLab API data models safely (#1368) - (954106f)
🚜 Refactor
📚 Documentation
- (website) Add highlights for 2.13.0 (#1491) - (3a6195f)
- (website) Add more-examples section for templates (#1472) - (e588472)
⚡ Performance
🧪 Testing
- (fixture) Add test fixture for skipped contributors ([#1481](https://github.com/orhun/git-cliff/issues
- v2.12.0Release v2.12.02026-01-20 · 2026-01-20 17:33 UTC
查看更新说明
2.12.0 - 2026-01-20
⛰️ Features
- (args) Add offline flag (#1321) - (f19f1cd)
- (args) Add
--skip-tagscli argument (#1334) - (32cf8c5) - (logging) Implement commit processing summary (#1355) - (aa01a09)
🐛 Bug Fixes
- (config) Respect the changelog.output configuration (#1349) - (cfcc5ae)
- (logging) Revert the noisy warn log level to trace (#1353) - (eb99e41)
- (remote) Avoid false first-time contributors when tag timestamp missing (#1348) - (de7cf02)
- (remote) Remove reqwest::Response::error_for_status (#1336) - (081ba68)
📚 Documentation
- (contributing) Clarify Rust toolchain requirements (#1344) - (97b0322)
- (install) Add mise alternative method installation (#1320) - (34b8d30)
- (website) Add highlights for 2.12.0 (#1356) - (0228f43)
⚙️ Miscellaneous Tasks
- (azure_devops) [breaking] Rename azureDevops variable to azure_devops (#1319) - (5d955c1)
- (ci) Fix codecov action inputs and skip upload for dependabot PRs (#1343) - (d7a47bb)
- (clippy) Fix pedantic lints (#1346) - (0260b0a)
- Update yarn.lock (#1322) - (0cec8a0)
New Contributors ❤️
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
git-cliff can generate changelog files from the Git history by utilizing conventional commits as well as regex-powered custom parsers. The changelog template can be customized with a configuration file to match the desired format.

Documentation
Learn how to use git-cliff from the official documentation.
You can also check out the blog posts written by the community:
- An introduction to git-cliff for release management: Learn how to automate your software releases
- Git-cliff and monorepos: An introduction to the monorepo capabilities of git-cliff
- git-cliff: The Smart Way to Handle Changelogs
In The Media
- Turning Git commits into changelog with git-cliff - RustLab 2023 (Talk)
- An Interview with Orhun of git-cliff - Console #141 (Newsletter)
- KaiCode Open Source Festival 2024 (Second place winner)
Editor Support
- git-cliff.el - Generate, update and release changelog in Emacs
Similar/Related Projects
- git-journal - The Git Commit Message and Changelog Generation Framework
- clog-cli - Generate beautiful changelogs from your Git commit history
- relnotes - A tool to automatically generate release notes for your project.
- cocogitto - A set of CLI tools for the conventional commit and semver specifications.
- cliff-jumper - A NodeJS CLI tool that combines git-cliff and conventional-recommended-bump to semantically bump a NodeJS package and generate a git-cliff powered changelog.
- release-plz - Release Rust packages from CI.
- git-changelog-command-line - Generate changelog and determine next version with conventional commits.
- git-changelog: Automatic Changelog generator using Jinja2 templates.
Contributors
Thanks goes to these wonderful people ✨
Made with contrib.rocks.
Socials
License
Licensed under either of Apache License Version 2.0 or The MIT License at your option.
Copyright
Copyright © 2021-2025, git-cliff contributors