git-cliff(1)

git-cliff1

A highly customizable changelog generator ⛰️

Usage

git-cliff [{-h | --help}] [{-V | --version}] [{-v | --verbose}] ... [{-i | --init}] [--templates-dir] [--list-templates] [{-c | --config}] [--config-url] [{-w | --workdir}] [{-r | --repository}] [--include-path] [--exclude-path] [--tag-pattern] [--with-commit] [--with-tag-message] [--skip-tags] [--ignore-tags] [--count-tags] [--limit-tags] [--skip-commit] [{-p | --prepend}] [{-o | --output}] [{-t | --tag}] [--bump] [--bumped-version] [{-b | --body}] [--body-file] [{-l | --latest}] [--current] [{-u | --unreleased}] [--topo-order] [--use-branch-tags] [--no-exec] [{-x | --context}] [--from-context] [{-s | --strip}] [--sort] [--github-token] [--github-repo] [--gitlab-token] [--gitlab-repo] [--gitea-token] [--gitea-repo] [--bitbucket-token] [--bitbucket-repo] [--http-timeout] [--use-native-tls] [--offline] [RANGE]

Overview

A highly customizable changelog generator ⛰️

Flags

-h, --help

Prints help information

-V, --version

Prints version information

-v, --verbose

Increases the logging verbosity

--list-templates

Prints the names of the available templates (built-in and user-defined)

--bumped-version

Prints bumped version for unreleased changes

-l, --latest

Processes the commits starting from the latest tag

--current

Processes the commits that belong to the current tag

-u, --unreleased

Processes the commits that do not belong to a tag

--topo-order

Sorts the tags topologically

--use-branch-tags

Include only the tags that belong to the current branch

--no-exec

Disables the external command execution

-x, --context

Prints changelog context as JSON

--use-native-tls

Load TLS certificates from the native certificate store

Options

-i, --init [<CONFIG>]

Writes the default configuration file to cliff.toml

--templates-dir <PATH>

Sets the directory to look up user-defined templates for `--init`.

A user-defined template overrides a built-in template of the same name.

May also be specified with the GIT_CLIFF_TEMPLATES_DIR environment variable.

-c, --config <PATH>

Sets the configuration file.

When omitted, the configuration is discovered automatically (a project `cliff.toml` / `.cliff.toml` / `.config/cliff.toml`, then the user configuration directory), falling back to the built-in default.

May also be specified with the GIT_CLIFF_CONFIG environment variable.

--config-url <URL>

Sets the URL for the configuration file

May also be specified with the GIT_CLIFF_CONFIG_URL environment variable.

-w, --workdir <PATH>

Sets the working directory

May also be specified with the GIT_CLIFF_WORKDIR environment variable.

-r, --repository <PATH>...

Sets the git repository

May also be specified with the GIT_CLIFF_REPOSITORY environment variable.

--include-path <PATTERN>

Sets the path to include related commits

May also be specified with the GIT_CLIFF_INCLUDE_PATH environment variable.

--exclude-path <PATTERN>

Sets the path to exclude related commits

May also be specified with the GIT_CLIFF_EXCLUDE_PATH environment variable.

--tag-pattern <PATTERN>

Sets the regex for matching git tags

May also be specified with the GIT_CLIFF_TAG_PATTERN environment variable.

--with-commit <MSG>

Sets custom commit messages to include in the changelog

May also be specified with the GIT_CLIFF_WITH_COMMIT environment variable.

--with-tag-message [<MSG>]

Sets custom message for the latest release

May also be specified with the GIT_CLIFF_WITH_TAG_MESSAGE environment variable.

--skip-tags <PATTERN>

Sets the tags to skip in the changelog

May also be specified with the GIT_CLIFF_SKIP_TAGS environment variable.

--ignore-tags <PATTERN>

Sets the tags to ignore in the changelog

May also be specified with the GIT_CLIFF_IGNORE_TAGS environment variable.

--count-tags <PATTERN>

Sets the tags to count in the changelog

May also be specified with the GIT_CLIFF_COUNT_TAGS environment variable.

--limit-tags <N>

Limits the number of tags to process

May also be specified with the GIT_CLIFF_LIMIT_TAGS environment variable.

--skip-commit <SHA1>

Sets commits that will be skipped in the changelog

May also be specified with the GIT_CLIFF_SKIP_COMMIT environment variable.

-p, --prepend [<PATH>]

Prepends entries to the given changelog file

May also be specified with the GIT_CLIFF_PREPEND environment variable.

-o, --output [<PATH>]

Writes output to the given file

May also be specified with the GIT_CLIFF_OUTPUT environment variable.

-t, --tag <TAG>

Sets the tag for the latest version

May also be specified with the GIT_CLIFF_TAG environment variable.

--bump [<BUMP>]

Bumps the version for unreleased changes. Optionally with specified version

-b, --body <TEMPLATE>

Sets the template for the changelog body

May also be specified with the GIT_CLIFF_TEMPLATE environment variable.

--body-file <PATH>

Reads the template for the changelog body from a file

--from-context <PATH>

Generates changelog from a JSON context

May also be specified with the GIT_CLIFF_CONTEXT environment variable.

-s, --strip <PART>

Strips the given parts from the changelog

Possible values:

•

header

•

footer

•

all

--sort <SORT> [default: oldest]

Sets sorting of the commits inside sections

Possible values:

•

oldest

•

newest

Options

--github-token <TOKEN>

Sets the GitHub API token

May also be specified with the GITHUB_TOKEN environment variable.

--github-repo <OWNER/REPO>

Sets the GitHub repository

May also be specified with the GITHUB_REPO environment variable.

--gitlab-token <TOKEN>

Sets the GitLab API token

May also be specified with the GITLAB_TOKEN environment variable.

--gitlab-repo <OWNER/REPO>

Sets the GitLab repository

May also be specified with the GITLAB_REPO environment variable.

--gitea-token <TOKEN>

Sets the Gitea API token

May also be specified with the GITEA_TOKEN environment variable.

--gitea-repo <OWNER/REPO>

Sets the Gitea repository

May also be specified with the GITEA_REPO environment variable.

--bitbucket-token <TOKEN>

Sets the Bitbucket API token

May also be specified with the BITBUCKET_TOKEN environment variable.

--bitbucket-repo <OWNER/REPO>

Sets the Bitbucket repository

May also be specified with the BITBUCKET_REPO environment variable.

--http-timeout <SECS>

Sets the HTTP timeout for remote metadata requests in seconds

May also be specified with the GIT_CLIFF_HTTP_TIMEOUT environment variable.

--offline

Disable network access for remote repositories

May also be specified with the GIT_CLIFF_OFFLINE environment variable.

Args

[RANGE]

Sets the commit range to process

Version

v2.14.2

Authors

git-cliff contributors <[email protected]>

From git-cliff 2.14.2-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.