git-cliff
Generate highly customizable changelogs from commits
TLDR
SYNOPSIS
git cliff [options] [range]
DESCRIPTION
git cliff generates changelogs from git history using conventional commit conventions. It parses commit messages to categorize changes and produces formatted output.The tool is highly configurable through TOML files, supporting custom Tera templates, commit groups, scope-based filtering, and conditional sections. It integrates with CI/CD pipelines for automated release documentation.git cliff supports conventional commits, Angular-style commits, and custom parsing rules, producing professional changelogs in Markdown, AsciiDoc, or custom template formats.
PARAMETERS
-o FILE, --output FILE
Output file.--tag TAG
Process commits until tag.--unreleased
Only process unreleased commits.-l, --latest
Process commits starting from the latest tag.--bump
Bump the version for the unreleased changes based on conventional commits.-c FILE, --config FILE
Configuration file.-w DIR, --workdir DIR
Run as if git-cliff was started in the given directory.--prepend FILE
Prepend to existing file.--context
Print template context.--init
Generate a default configuration file.--help
Display help information.
CONFIGURATION
cliff.toml
Configuration file defining commit parsing rules, grouping logic, filtering patterns, and output templates using Tera template syntax.~/.config/git-cliff/cliff.toml
User-level default configuration for git-cliff settings.
INSTALL
CAVEATS
Works best with conventional commits. Requires configuration for custom formats. Template customization needs Tera syntax knowledge.
HISTORY
git cliff was created by Orhun Parmaksiz as a highly customizable changelog generator, written in Rust for performance.
SEE ALSO
git-changelog(1), git-log(1)