gh(1)

NAME

gh-release-create - Create a new release

SYNOPSIS

gh release create [...]

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 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.

OPTIONS

--discussion-category=""
    Start a discussion of the specified category

-d, --draft[=false]
    Save the release as a draft instead of publishing it

-n, --notes=""
    Release notes

-F, --notes-file=""
    Read release notes from file

-p, --prerelease[=false]
    Mark the release as a prerelease

--target=""
    Target branch or full commit SHA (default: main branch)

-t, --title=""
    Release title

OPTIONS INHERITED FROM PARENT COMMANDS

--help[=false]
    Show help for command

-R, --repo=""
    Select another repository using the [HOST/]OWNER/REPO format

EXAMPLE

    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"

SEE ALSO

gh-release(1)