gh-release-create - Man Page

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

--latest

Mark this release as "Latest" (default: automatic based on date and version)

-n,  --notes <string>

Release notes

-F,  --notes-file <file>

Read release notes from file (use "-" to read from standard input)

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

Options Inherited from Parent Commands

-R,  --repo <[HOST/]OWNER/REPO>

Select another repository using the [HOST/]OWNER/REPO format

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

Referenced By

gh-release(1).

Nov 2022 GitHub CLI manual