git-cliff
Generate changelogs from git history
TLDR
Generate a changelog from all commits in a Git repository and save it to CHANGELOG.md
Generate a changelog from commits starting from the latest tag and print it to stdout
Generate a changelog from commits that belong to the current tag (use git checkout on a tag before this)
Generate a changelog from commits that do not belong to a tag
Write the default config file to cliff.toml in the current directory
SYNOPSIS
git cliff [OPTIONS]
PARAMETERS
--config
Path to the git-cliff configuration file (default: git-cliff.toml).
--repository
Path to the git repository (default: current directory).
--from
Git revision to start changelog generation from (defaults to the oldest tag or commit).
--to
Git revision to end changelog generation at (defaults to HEAD).
--output
Path to the output changelog file (defaults to standard output).
--prepend
Path to the file to prepend to the changelog.
--append
Path to the file to append to the changelog.
--version
Prints the version of git-cliff.
--help
Displays help information.
DESCRIPTION
git-cliff is a command-line tool designed to generate changelogs from git history.
It analyzes commit messages, extracts relevant information, and formats it into a structured changelog file.
This tool helps streamline the process of creating release notes and tracking changes across different versions of a software project.
It is highly configurable via a TOML configuration file, allowing users to tailor the changelog output to match their specific needs and project standards. git-cliff supports various templates and allows filtering commits based on authors, scopes, and other criteria, making it a versatile solution for managing changelog generation in Git-based projects. It uses conventional commits to properly categorise the change logs, and it is highly customizable to different needs.
CONFIGURATION
git-cliff relies heavily on a TOML configuration file (typically named `git-cliff.toml`) to define how the changelog is generated. This file specifies the format of commit messages, the categories of changes to include, and the overall structure of the changelog.
CONVENTIONAL COMMITS
The tool encourages the use of conventional commit messages (e.g., `feat: add new feature`, `fix: resolve bug`) to automatically categorize and structure the changelog entries.
HISTORY
git-cliff is a relatively new command-line tool focused on streamlining changelog generation. Its development is driven by the need for a flexible and configurable solution that integrates with Git repositories and supports various commit conventions. It is actively maintained and improving in functionality.