Repository navigation
Reference: git flow release
List existing release branches
git flow release [list] [-h] [-v]
-h,--[no]help
show this help
-v,--[no]verbose
verbose (more) output
Start a new release branch
git flow release start [-h] [-F] <version>
-h,--[no]help
show this help
--showcommands
Show git commands while executing them
-F,--[no]fetch
fetch from origin before performing finish
Finish a release branch
git flow release finish [-h] [-F] [-s] [-u] [-m | -f] [-p] [-k] [-n] [-b] [-S] [-9] <version>
-h,--[no]help
show this help
--showcommands
Show git commands while executing them
-F,--[no]fetch
fetch from origin before performing finish
-s,--[no]sign
sign the release tag cryptographically
-u,--signingkey
use the given GPG-key for the digital signature (implies -s)
-m,--message
use the given tag message
NOTE: to enter a multi-line tag message the format needs to be "$(printf 'message text with \n as needed for formating')"
-f,--messagefile
use the contents of the given file as a tag message
-p,--[no]push
push the production and develop branch to origin after performing the finish.
--[no]pushproduction push the production branch to origin after performing the finish.
--[no]pushdevelop push the develop branch to origin after performing the finish.
-k,--[no]keep
keep branch after performing finish
--[no]keepremote
keep the remote branch
--[no]keeplocal
keep the local branch
-n,--[no]notag
don't tag this release
-T,--tagname
Use given tag name
-b,--[no]nobackmerge
don't back-merge master, or tag if applicable, in develop
-S,--[no]squash
squash release during merge
--ff-master
Fast forward master branch if possible
-9,--[no]create-release
Create a GitHub/GitLab release after finishing (LBEM Edition)
When --create-release is specified, the command will:
- Complete the standard release finish (merge, tag, etc.)
- Push the tag to origin (required for release creation)
- Create a GitHub/GitLab release using the CLI tool:
- GitHub: uses
gh release create - GitLab: uses
glab release create
- GitHub: uses
The release notes are auto-generated from commits since the last tag.
-
gitflow.release.finish.create-release- Set totrueto create releases by default
Start and Finish a release branch
git flow release create [-h] [-F] [-s] [-u] [-m | -f] [-p] [-k] [-n] [-b] [-S] <version> [<branch>]
-h,--[no]help
show this help
--showcommands
Show git commands while executing them
-F,--[no]fetch
fetch from origin before performing finish
-s,--[no]sign
sign the release tag cryptographically
-u,--signingkey
use the given GPG-key for the digital signature (implies -s)
-m,--message
use the given tag message
NOTE: to enter a multi-line tag message the format needs to be "$(printf 'message text with \n as needed for formating')"
-f,--messagefile
use the contents of the given file as a tag message
-p,--[no]push
push the production and develop branch to origin after performing the finish.
--[no]pushproduction push the production branch to origin after performing the finish.
--[no]pushdevelop push the develop branch to origin after performing the finish.
-k,--[no]keep
keep branch after performing finish
--[no]keepremote
keep the remote branch
--[no]keeplocal
keep the local branch
-n,--[no]notag
don't tag this release
-T,--tagname
Use given tag name
-b,--[no]nobackmerge
don't back-merge master, or tag if applicable, in develop
-S,--[no]squash
squash release during merge
--ff-master
Fast forward master branch if possible
Release a branch [<name>], if a name is not given it defaults to the develop branch, and use the given version <version>
git flow release branch [-h] [-F] [-s] [-u] [-m] [-f] [-p] [-n] [-S] <version> [<name>]
-h,--[no]help
show this help
--showcommands
Show git commands while executing them
-F,--[no]fetch
fetch from origin before performing finish
-s,--[no]sign
sign the release tag cryptographically
-u,--signingkey
use the given GPG-key for the digital signature (implies -s)
-m,--message
use the given tag message
-f,--messagefile
use the contents of the given file as a tag message
-p,--[no]push
push to origin after performing finish
-n,--[no]notag
don't tag this release
-S,--[no]squash
squash release during merge
Publish the release branch <name> on $ORIGIN
git flow release publish [-h] <name>
-h,--[no]help
show this help
--showcommands Show git commands while executing them
Start tracking release <name> that is shared on $ORIGIN
git flow release track [-h] <name>
-h,--[no]help
show this help
--showcommands
Show git commands while executing them
Deletes a given release branch
git flow release delete [-h] [-f] [-r] <name>
-h,--[no]help
show this help
--showcommands
Show git commands while executing them
-f,--[no]force
force deletion
-r,--[no]remote
delete remote branch
Rebase <name> on <base_branch>
git flow release rebase [-h] [-i] [-p] [<name|nameprefix>]
-h,--[no]help
show this help
--showcommands
Show git commands while executing them
-i,--[no]interactive
do an interactive rebase
-p, --[no]preserve-merges
preserve merges
Synchronize release branch <name> with the production branch. This command fetches updates from origin and updates the release branch with any changes from the production branch.
git flow release sync [-h] [<name|nameprefix>]
-h,--[no]help
show this help
--showcommands
Show git commands while executing them
- Stashes any uncommitted changes
- Fetches updates from origin
- Updates the production branch (e.g., main/master) with remote changes
- Merges production branch into release branch (if there are changes)
- Restores stashed changes
This is useful when hotfixes have been applied to production that need to be incorporated into an in-progress release.