1. hub-release(1)
  2. hub manual
  3. hub-release(1)

Manage GitHub Releases for the current repository.

Synopsis

hub release [--include-drafts] [--exclude-prereleases] [-L LIMIT] [-f FORMAT]
hub release show [-f FORMAT] TAG
hub release create [-dpoc] [-a FILE] [-m MESSAGE|-F FILE] [-t TARGET] TAG
hub release edit [options] TAG
hub release download TAG [-i PATTERN]
hub release delete TAG

Commands

With no arguments, shows a list of existing releases.

With --include-drafts, include draft releases in the listing. With --exclude-prereleases, exclude non-stable releases from the listing.

show

Show GitHub release notes for TAG.

With --show-downloads, include the "Downloads" section.

create

Create a GitHub release for the specified TAG name. If git tag TAG does not exist, it will be created at TARGET (default: current branch).

edit

Edit the GitHub release for the specified TAG name. Accepts the same options as create command. Publish a draft with --draft=false.

Without --message or --file, a text editor will open pre-populated with the current release title and body. To re-use existing title and body unchanged, pass -m "".

download

Download the assets attached to release for the specified TAG.

delete

Delete the release and associated assets for the specified TAG. Note that this does not remove the git tag TAG.

Options

-L, --limit

Display only the first LIMIT releases.

-d, --draft

Create a draft release.

-p, --prerelease

Create a pre-release.

-a, --attach FILE

Attach a file as an asset for this release.

If FILE is in the "filename#text" format, the text after the # character is taken as asset label.

-m, --message MESSAGE

The text up to the first blank line in MESSAGE is treated as the release title, and the rest is used as release description in Markdown format.

When multiple --message are passed, their values are concatenated with a blank line in-between.

When neither --message nor --file were supplied to release create, a text editor will open to author the title and description in.

-F, --file FILE

Read the release title and description from FILE. Pass "-" to read from standard input instead. See --message for the formatting rules.

-e, --edit

Open the release title and description in a text editor before submitting. This can be used in combination with --message or --file.

-o, --browse

Open the new release in a web browser.

-c, --copy

Put the URL of the new release to clipboard instead of printing it.

-t, --commitish TARGET

A commit SHA or branch name to attach the release to, only used if TAG does not already exist (default: main branch).

-i, --include PATTERN

Filter the files in the release to those that match the glob PATTERN.

-f, --format FORMAT

Pretty print releases using FORMAT (default: "%T%n"). See the "PRETTY FORMATS" section of git-log(1) for some additional details on how placeholders are used in format. The available placeholders for issues are:

%U: the URL of this release

%uT: tarball URL

%uZ: zipball URL

%uA: asset upload URL

%S: state (i.e. "draft", "pre-release")

%sC: set color to yellow or red, depending on state

%t: release name

%T: release tag

%b: body

%as: the list of assets attached to this release

%cD: created date-only (no time of day)

%cr: created date, relative

%ct: created date, UNIX timestamp

%cI: created date, ISO 8601 format

%pD: published date-only (no time of day)

%pr: published date, relative

%pt: published date, UNIX timestamp

%pI: published date, ISO 8601 format

%n: newline

%%: a literal %

--color[=WHEN]

Enable colored output even if stdout is not a terminal. WHEN can be one of "always" (default for --color), "never", or "auto" (default).

TAG

The git tag name for this release.

See also

hub(1), git-tag(1)