Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GH-RELEASE-CREATE(1)	       GitHub CLI manual	  GH-RELEASE-CREATE(1)

NAME
       gh-release-create - Create a new	release

SYNOPSIS
       gh release create [<tag>] [<filename>...	| <pattern>...]

DESCRIPTION
       Create a	new GitHub Release for a repository.

       A list of asset files may be given to upload to the new release.	To de-
       fine  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  get the release notes from	the annotated git tag.	If the
       tag is not annotated, the commit	message	will be	used instead.

       Use --generate-notes to automatically generate notes using  GitHub  Re-
       lease  Notes  API.  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 auto-
       matically generated notes by using the --notes flag.

       By default, the release is created even if there	 are  no  new  commits
       since  the  last	release.  This may result in the same or duplicate re-
       lease which may not be desirable	in some	cases.	Use  --fail-on-no-com-
       mits  to	 fail if no new	commits	are available. This flag has no	effect
       if there	are no existing	releases or this is the	very first release.

Immutable Releases
       When release immutability is enabled for	a  repository,	the  following
       protections  are	 enforced: - Git tags associated with a	release	cannot
       be modified or  deleted.	  -  Release  assets  cannot  be  modified  or
       deleted.

       Immutability  is	 enforced only after a release is published. Draft re-
       leases can be modified or deleted, and the associated git tags  can  be
       modified	or deleted as well.

       When  using  the	create command to attach assets	to a release, separate
       API calls are made to create the	release	as a draft, upload the assets,
       and then	publish	the release.  Immutability  protections	 will  be  en-
       forced ONLY after the release is	published.

OPTIONS
       --discussion-category <string>
	      Start a discussion in the	specified category

       -d, --draft
	      Save the release as a draft instead of publishing	it

       --fail-on-no-commits
	      Fail  if	there are no commits since the last release (no	impact
	      on the first release)

       --generate-notes
	      Automatically generate title  and	 notes	for  the  release  via
	      GitHub Release Notes API

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

       --notes-from-tag
	      Fetch notes from the tag annotation or message of	commit associ-
	      ated with	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 via GitHub	Release	Notes API 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 tag annotation or associated commit message as 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"

       # Create	a release only if there	are new	commits	available since	the last release
       $ gh release create v1.2.3 --fail-on-no-commits

SEE ALSO
       gh-release(1)

				   Mar 2026		  GH-RELEASE-CREATE(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gh-release-create&sektion=1&manpath=FreeBSD+Ports+15.0.quarterly>

home | help