git-cliff

orhunApache-2.0活跃维护

基于 Conventional Commit 规范从 Git 提交历史自动生成高度可定制的变更日志,省去手写 CHANGELOG 的麻烦。

A highly customizable Changelog Generator that follows Conventional Commit specifications ⛰️

v2.14.2发布于 2026-09-18 21:22 UTC12,524star +20 / 7 天365fork同步于 2026-11-10 11:28 UTC

怎么上手

由 README 提炼,执行前请确认
cargo install git-cliff
硬件要求按 README 说明

README 未说明,为纯命令行工具,无 GPU 或显存要求

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

从 Git 提交历史自动生成可定制 changelog 的 Rust 命令行工具

基于 Conventional Commit 规范从 Git 提交历史自动生成高度可定制的变更日志,省去手写 CHANGELOG 的麻烦。

核心能力

  • 按 Conventional Commits 规范解析提交并归类
  • 用正则驱动的自定义提交解析器筛选条目
  • 通过配置文件自定义 changelog 模板格式
  • 支持 monorepo 场景的变更日志生成

容易踩的坑

README 未给出具体命令示例,安装与用法需查阅官方文档;提交信息需遵循 Conventional Commits 或自行配置解析规则,否则分类可能不符合预期

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v2.14.2
  1. v2.14.2Release v2.14.2最新正式版2026-09-18 · 2026-09-18 21:22 UTC

    animation

    2.14.2 - 2026-09-18

    ⛰️ Features

    • (parser) Allow commits to be parsed by multiple parsers (#1611) - (4644e5f)

    🐛 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

    • @heaths made their first contribution in #1641
    • @Jorge-Polanco-Roque made their first contribution in #1627
    • @genx7up made their first contribution in #1632
    • @sisp made their first contribution in #1616
  2. v2.14.1Release v2.14.12026-09-01 · 2026-09-01 14:46 UTC
    查看更新说明

    animation

    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
  3. v2.13.1Release v2.13.12026-04-26 · 2026-04-26 10:17 UTC
    查看更新说明

    animation

    2.13.1 - 2026-04-26

    🐛 Bug Fixes

    • (cd) Prepare embedded assets before PyPI and crates.io packaging - (b99a232)
  4. v2.13.0Release v2.13.02026-04-26 · 2026-04-26 09:32 UTC
    查看更新说明

    animation

    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-commit does not change version (#1484) - (3d6a7cb)
    • (docs) Use updated usage of doc_auto_cfg and fix internal link (#1373) - (0a0a795)
    • (npm) Use require.resolve to resolve binary path (#1392) - (39cd76e)
    • (remote) Deserialize GitLab API data models safely (#1368) - (954106f)

    🚜 Refactor

    • (deps) Replace dirs_next with etcetera (#1477) - (ee8bfd1)

    📚 Documentation

    • (website) Add highlights for 2.13.0 (#1491) - (3a6195f)
    • (website) Add more-examples section for templates (#1472) - (e588472)

    ⚡ Performance

    🧪 Testing

  5. v2.12.0Release v2.12.02026-01-20 · 2026-01-20 17:33 UTC
    查看更新说明

    animation

    2.12.0 - 2026-01-20

    ⛰️ Features

    🐛 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 ❤️

    • @taladar made their first contribution in #1319
    • @barskern made their first contribution in #1321
    • @ooooo-create made their first contribution in #1334
    • @jylenhof made their first contribution in #1320

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    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.

    animation

    Documentation

    Learn how to use git-cliff from the official documentation.

    You can also check out the blog posts written by the community:

    In The Media

    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