Scroll to navigation

GIT-CHANGELOG(1) Git Extras GIT-CHANGELOG(1)

NAME

git-changelog - Generate a changelog report

SYNOPSIS

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

DESCRIPTION

You could customize the changelog format via some git config options.

git config changelog.format $format controls the format of each commit. It will be passed as git log --pretty=format:$format. The default value is ` * %s`.
git config changelog.mergeformat $format is like changelog.format but only used when --merges-only is specified. The default value is * %s%n%w(64,4,4)%b.

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

-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.

--start-commit

Like the --start-tag but specify the oldest commit instead of tag. Note that the specified commit will be contained in the changelog.

-n, --no-merges

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

-m, --merges-only

Uses only merge commits (commits with more than 1 parent) for generated changelog. It also changes the default format to include the merge commit messages body, as on github the commits subject line only contains the branch name but no information about the content of the merge.

-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:

Listing commits from the current version:

Listing a range of commits from 2.1.0 to now:

Listing a pretty formatted version of the same:

Listing a range of commits from initial commit to 2.1.0:

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

Listing a pretty formatted range of commits between 0b97430 and 1.0.0:

Specifying a file for output:

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

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>
October 2020