GIT-RELEASE(1)
π git-release β the manual page, bestie edition π
okay so this is GIT-RELEASE(1), from the Git Extras collection (yes that's the manual name, it's giving very fancy). pull up a chair, we're committing, tagging and pushing, and it's gonna slay. π
π¦ NAME π¦
git-release β commit, tag and push changes to the repository
like, all three. in one go. no cap. β¨
πΈ SYNOPSIS πΈ
okay so bestie, the original page literally left this section blank π no synopsis line, nothing. so just scroll down to OPTIONS and EXAMPLES, that's where the actual tea is. π
π DESCRIPTION π
So here's the vibe. It commits your changes with the message "Release <tagname>" β or with custom commit info if you're feeling quirky β then it tags with the given <tagname>, then it pushes the branch / tags. done. iconic. π
This command always creates a release commit, which could be totally empty if nothing changed. it works like git merge --no-ff, fr fr. and if that behavior isn't your thing? you can add --no-empty-commit to skip it. simple as.
Optionally it generates a changelog (see git-changelog) and a remote can be defined. and here's the fun part: the order of first -c or -r does not matter. mix and match, she doesn't care. π«Ά
and if .git/hooks/pre-release or .git/hooks/post-release exist, they will be triggered with tagname and extra hook arguments before/after the release. hooks girlies stay winning. π§
β¨ OPTIONS β¨
okay this is the main character section, let's go one by one, no skipping, I know every single one π₯
--semver <name>β if the latest tag in your repo matches the semver format requirement, you could increase part of it as the new release tag with this option. The name must be one of themajor,minor,patch. For example, assumed the latest tag is4.4.0, withgit release --semver minoryou will make a new release with tag4.5.0. and if your tag has a character before the semver, use--prefix. π«<tagname>β The name of the newly created tag. Also used in the tag comment. so it's doing double duty, we love a multitasker. π--prefix <tag prefix>β use a prefix with a semver tag.git release --semver minor --prefix rwould increment the latest tagr4.4.0tor4.5.0. This prefix can be any length, just without spaces. ok? no spaces. periodt. π-r <remote>β The"remote"repository that is destination of a push operation: it is passed togit push. so you tell it where to yeet the code. π-m <commit info>β use the custom commit information instead of the default message"Release <tagname>". you wanna write your own little love letter to the commit log? go off. π--no-empty-commitβ avoid creating empty commit if nothing could be committed. bye bye ghost commit π»-cβ generates or populates the changelog with all commit message since the last tag. For more info seegit-changelog.. (yes, two dots in the original, I'm keeping it exactly, don't come for me π)-sβ create a signed and annotated tag. secure and cute, the best combo. π-u <key-id>β create a tag, annotated and signed with the given key. you pick the key, she does the signing. π[--]hook arguments... β the arguments listed after the--separator will be passed to pre/post-release hook following thetagname. so--is like the velvet rope, everything after it goes straight to the hooks. ποΈ
π EXAMPLES π
live footage of you being a git legend, let's run through all of them bestie:
- Release commit with the given
<tagname>.
$ git release 0.1.0
- Release commit with the given
<tagname>and custom commit message.
$ git release 0.1.0 -m "+ powerful feature added."
- Release commit with the given
<tagname>and push to specific remote.
$ git release 0.1.0 -r github
- Release commit with the given
<tagname>and populate changelog.
$ git release 0.1.0 -c
- Release commit with the given
<tagname>, populate changelog, and push to specific remote.
$ git release 0.1.0 -r github -c
- Release commit with the given
<tagname>, pass<tagname>and extra argument to release hook, populate changelog, and push to specific remote.
$ git release 0.1.0 -r github -c -- --signature-required
see that last one? hook args AND changelog AND remote? that's the full glow-up. π
π AUTHOR π
Written by Tj Holowaychuk <tj@vision-media.ca> Extended by David Hartmann <dh@tsl.io>
absolute legends, we stan. πββοΈ
π REPORTING BUGS π
found a bug? don't suffer in silence bestie, tell them here:
<https://github.com/tj/git-extras/issues>
π₯ SEE ALSO π₯
<https://github.com/tj/git-extras>
go explore, there's a whole extras ecosystem waiting for you. π
π one last thing, bestie:git-releaseis part of Git Extras, and this page is theGIT-RELEASE(1)entry dated May 2026. that's a wrap, girlies. slay, tag, push. β¨π π¦
π¦ 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