1. git-changelog(1)
  2. git-changelog(1)

NAME

git-changelog - Generate a changelog report

SYNOPSIS

git-changelog [options] [<file>]
git-changelog {-h | --help | ?}

DESCRIPTION

Generates a changelog from git(1) tags (annotated or lightweight) and commit messages. Existing changelog files with filenames that begin with Change or History will be identified automatically with a case insensitive match pattern and existing content will be appended to the new output generated--this behavior can be disabled by specifying the prune option (-p|--prune-old). The generated file will be opened in $EDITOR when set.

If no tags exist, then all commits are output; if tags exist, then only the most-recent commits are output up to the last identified tag. This behavior can be changed by specifing one or both of the range options (-f|--final-tag and -s|--start-tag).

OPTIONS

<file>

The name of the output file. By default the new file will be History.md unless an existing changelog is detected in which case the existing file will be updated.

-a, --all

Retrieve all commits. Ignores -s|--start-tag and -f|--final-tag options (if set).

-l, --list

Show commits in list format (without titles, dates).

-t, --tag

Specify a tag label to use for most-recent (untagged) commits.

-f, --final-tag

When specifying a range, the newest tag at which point commit retrieval will end. Commits will be returned from the very first commit until the final tag unless a start tag is also specified.

-s, --start-tag

When specifying a range, the oldest tag to retrieve commits from. Commits will be returned from the start tag to now unless a final tag is also specified.

-n, --no-merges

Filters out merge commits (commits with more than 1 parent) from generated changelog.

-p, --prune-old

Replace existing changelog entirely with newly generated content, thereby disabling the default behavior of appending the content of any detected changelog to the end of newly generated content.

-x, --stdout

Write output to stdout instead of to a new changelog file.

-h, --help, ?

Show a help message with basic usage information.

EXAMPLES

Updating existing file or creating a new History.md file with pretty formatted output:

$ git changelog

Listing commits from the current version:

$ git changelog --list

Listing a range of commits from 2.1.0 to now:

$ git changelog --list --start-tag 2.1.0

Listing a pretty formatted version of the same:

$ git changelog --start-tag 2.1.0

Listing a range of commits from initial commit to 2.1.0:

$ git changelog --list --final-tag 2.1.0

Listing a pretty formatted range of commits between 0.5.0 and 1.0.0:

$ git changelog --start-tag 0.5.0 --final-tag 1.0.0

Specifying a file for output:

$ git changelog ChangeLog.md

And if an existing Changelog exists, replace its contents entirely:

$ git changelog --prune-old

AUTHOR

Written by Mark Eissler <mark@mixtur.com>

REPORTING BUGS

<https://github.com/tj/git-extras/issues>

SEE ALSO

<https://github.com/tj/git-extras>

  1. April 2015
  2. git-changelog(1)