gh release create
gh release create [<tag>] [<files>...]
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.
When using automatically generated release notes, a release title will also be automatically generated unless a title was explicitly passed. Additional release notes can be prepended to automatically generated notes by using the notes parameter.
Options
--discussion-category <string>
- Start a discussion in the specified category
-d
,--draft
- Save the release as a draft instead of publishing it
--generate-notes
- Automatically generate title and notes for the release
-n
,--notes <string>
- Release notes
-F
,--notes-file <file>
- Read release notes from file (use "-" to read from standard input)
-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
-R
,--repo <[HOST/]OWNER/REPO>
- Select another repository using the [HOST/]OWNER/REPO format
Examples
Interactively create a release
$ gh release create
Interactively create a release from specific tag
$ gh release create v1.2.3
Non-interactively create a release
$ gh release create v1.2.3 --notes "bugfix release"
Use automatically generated release notes
$ gh release create v1.2.3 --generate-notes
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"