GIT-CHANGELOG(1)
π GIT-CHANGELOG(1) β the git-changelog glow-up guide π
okay bestie, sit down, hydrate, and let me tell you about git-changelog from the Git Extras girlies. it generates a changelog report, and it's giving organized, it's giving documented, and honestly? we're obsessed.
β¨ NAME β¨
git-changelog β generate a changelog report. that's it. that's the job. slay.
π SYNOPSIS π
git-changelog [options] [<file>]
git-changelog {-h | --help | ?}
π¦ DESCRIPTION π¦
so basically you can customize the changelog format through some git config options. lowkey the most fun part. here's the tea:
git config changelog.format $formatβ this controls the format of each commit. it gets passed asgit log --pretty=format:$format. the default value is* %s.git config changelog.mergeformat $formatβ likechangelog.formatbut it's only used when--merges-onlyis specified. the default value is* %s%n%w(64,4,4)%b.
periodt. those two configs are the whole vibe controller.
π OPTIONS π
<file>β the name of the output file. by default the new file will beHistory.mdβ unless an existing changelog is detected, in which case the existing file will be updated instead. it reads the room, basically.-a,--allβ (the original page gives this one no description, bestie. iconic mystery energy, we respect it π)-l,--listβ show commits in list format (so: no titles, no dates). just the raw commit guts.-t,--tagβ specify a tag label to use for the most-recent (untagged) commits.-f,--final-tagβ when you're specifying a range, this is 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 you're specifying a range, this is 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-tagbut you specify the oldest commit instead of a tag. heads up: the specified commit will be contained in the changelog. inclusive queen.-n,--no-mergesβ filters out merge commits (commits with more than 1 parent) from the generated changelog. goodbye merges π«Ά-m,--merges-onlyβ uses only merge commits (commits with more than 1 parent) for the generated changelog. it also changes the default format to include the merge commit message's body, because on github the commit subject line only contains the branch name and no information about the content of the merge. so like, the body is where the actual plot is.-p,--prune-oldβ replace the existing changelog entirely with the newly generated content, thereby disabling the default behavior of appending the content of any detected changelog to the end of the newly generated content. fresh start, no baggage, main character move.-x,--stdoutβ write output to stdout instead of to a new changelog file.-h,--help,?β show a help message with basic usage information.
π EXAMPLES π
the original page lists these lovely scenarios, in this exact order:
- Updating existing file or creating a new
History.mdfile with pretty formatted output: - Listing commits from the current version:
- Listing a range of commits from
2.1.0to 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.0and1.0.0: - Listing a pretty formatted range of commits between
0b97430and1.0.0: - Specifying a file for output:
- And if an existing Changelog exists, replace its contents entirely:
ngl, the source page lays out these intros but doesn't print the actual commands under them β so this is the full list of what it promises, verbatim-ish and in order. no skipping, no summarising, we keep every crumb. β¨
π AUTHOR π
Written by Mark Eissler <mark@mixtur.com> π
π¨ REPORTING BUGS π¨
<https://github.com/tj/git-extras/issues>
(if something's cursed, tell the repo, not me, i'm just the messenger π§)
π₯ SEE ALSO π₯
<https://github.com/tj/git-extras>
okay that's the whole page, you ate it, i'm so proud of you. π this was GIT-CHANGELOG(1) from the Git Extras era, dated May 2026 β go forth and generate changelogs, bestie, and remember: the vibe changes, but the facts stay exactly the same. periodt. πβ¨π
π¦ where this page comes from
- ubuntu stonking: git-extras 7.5.0-1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms