git-cliff(1)

✨ git-cliff(1) ✨

okay so bestie, welcome to the git-cliff manual page πŸ’– this is the General Commands Manual entry, and honestly? it's giving main character energy for your changelogs. buckle up πŸŽ€


🌸 NAME 🌸

git-cliff β€” a highly customizable changelog generator ⛰️


πŸ¦‹ SYNOPSIS πŸ¦‹

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]

like, that's a lot of brackets, i know 😭 but every single one of them is doing something, i promise.


πŸ’… DESCRIPTION πŸ’…

A highly customizable changelog generator ⛰️ β€” that's the whole pitch, no cap. it takes your git history and turns it into a changelog that actually slaps πŸ”₯


⭐ FLAGS ⭐

  • -h, --help β€” prints help information 🫢
  • -V, --version β€” prints version information
  • -v, --verbose β€” increases the logging verbosity (yes bestie, it's stackable β€” you can pass it more than once for extra chatter) πŸ™ˆ
  • --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 (yep, the ... means you can stack it πŸ’€). 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 are:
    • header
    • footer
    • all
  • --sort <SORT> β€” sets sorting of the commits inside sections. default: oldest. possible values are:
    • oldest
    • newest

🌈 REMOTE 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.
bestie this whole section is about remote metadata, so if you're offline (like, literally on a plane πŸ›«) the --offline flag is your bestie too.

πŸ“ ARGS πŸ“

  • [RANGE] β€” sets the commit range to process

πŸ’œ VERSION πŸ’œ

v2.14.2


πŸ‘‘ AUTHORS πŸ‘‘

git-cliff contributors <git-cliff@protonmail.com>


and that's the whole page, periodt πŸ’… this was git-cliff 2.14.2 β€” that's the source/version and date wrapped up in a cute little bow for you, bestie πŸŽ€πŸ«Ά now go generate some iconic changelogs ✨

πŸ“¦ where this page comes from