gh release create
Create a new release
Synopsis
Create a new GitHub Release for a repository.
A list of asset files may be given to upload to the new release. To define a
display label for an asset, append text starting with #
after the file name.
If a matching git tag does not yet exist, one will automatically get created
from the latest state of the default branch. Use --target
to override this.
To fetch the new tag locally after the release, do git fetch --tags origin
.
To create a release from an annotated git tag, first create one locally with git, push the tag to GitHub, then run this command.
gh release create <tag> [<files>...]
Examples
Interactively create a release
$ gh release create v1.2.3
Non-interactively create a release
$ gh release create v1.2.3 --notes "bugfix release"
Use release notes from a file
$ gh release create v1.2.3 -F changelog.md
Upload all tarballs in a directory as release assets
$ gh release create v1.2.3 ./dist/*.tgz
Upload a release asset with a display label
$ gh release create v1.2.3 '/path/to/asset.zip#My display label'
Create a release and start a discussion
$ gh release create v1.2.3 --discussion-category "General"
Options
--discussion-category string Start a discussion of the specified category
-d, --draft Save the release as a draft instead of publishing it
-n, --notes string Release notes
-F, --notes-file file Read release notes from file
-p, --prerelease Mark the release as a prerelease
--target branch Target branch or full commit SHA (default: main branch)
-t, --title string Release title
Options inherited from parent commands
--help Show help for command
-R, --repo [HOST/]OWNER/REPO Select another repository using the [HOST/]OWNER/REPO format