table of contents
GH-RELEASE-CREATE(1) | GitHub CLI manual | GH-RELEASE-CREATE(1) |
NAME¶
gh-release-create - Create a new release
SYNOPSIS¶
gh release create [<tag>] [<files>...]
DESCRIPTION¶
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 point to a different branch or commit for the automatic tag creation. Use --verify-tag to abort the release if the tag doesn't already exist. 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. Use --notes-from-tag to automatically generate the release notes from the annotated git tag.
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 flag.
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
- --latest
- Mark this release as "Latest" (default [automatic based on date and version]). --latest=false to explicitly NOT set as latest
- -n, --notes <string>
- Release notes
- -F, --notes-file <file>
- Read release notes from file (use "-" to read from standard input)
- --notes-from-tag
- Automatically generate notes from annotated tag
- --notes-start-tag <string>
- Tag to use as the starting point for generating release notes
- -p, --prerelease
- Mark the release as a prerelease
- --target <branch>
- Target branch or full commit SHA (default [main branch])
- -t, --title <string>
- Release title
- --verify-tag
- Abort in case the git tag doesn't already exist in the remote repository
OPTIONS INHERITED FROM PARENT COMMANDS¶
- -R, --repo <[HOST/]OWNER/REPO>
- Select another repository using the [HOST/]OWNER/REPO format
ALIASES¶
gh release new
EXIT CODES¶
0: Successful execution
1: Error
2: Command canceled
4: Authentication required
NOTE: Specific commands may have additional exit codes. Refer to the command's help for more information.
EXAMPLE¶
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 release-notes.md Use annotated tag notes $ gh release create v1.2.3 --notes-from-tag Don't mark the release as latest $ gh release create v1.2.3 --latest=false 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"
SEE ALSO¶
Dec 2024 | GitHub CLI v2.63.2 |