.nh .TH "GT-RELEASE-CREATE" "1" "Nov 2026" "gitea-cli" "gitea-cli Manual" .SH NAME gt-release-create - Create a release .SH SYNOPSIS \fBgt release create [] [...] [flags]\fP .SH DESCRIPTION Create a release for a tag, and upload the files that follow the tag as its assets. Gitea creates the tag at --target (the default branch) when it does not exist yet. The title defaults to the tag. Without a tag and flags on a terminal, a form asks for the tag, title, notes, target, and whether the release is a draft or a prerelease. .PP gt never pushes: commits and tags that only exist in your clone are not on the server, so push them first (git push ). In a clone, a tag that only exists locally is refused unless --target says where Gitea creates it, and a new tag without --target is refused unless HEAD is the head of the default branch on the server. A --target that is no branch on the server, such as HEAD or a short SHA, names the commit it resolves to in the clone. --verify-tag refuses any tag that is not on the server yet. .SS JSON FIELDS .EX assets, author, body, created_at, draft, id, prerelease, published_at, tag, target, title, url .EE .SH OPTIONS \fB--asset\fP=[] File to upload as an asset (repeatable) .PP \fB-d\fP, \fB--draft\fP[=false] Save the release as a draft .PP \fB-e\fP, \fB--editor\fP[=false] Write release notes in an editor .PP \fB-h\fP, \fB--help\fP[=false] help for create .PP \fB-n\fP, \fB--notes\fP="" Release notes .PP \fB-F\fP, \fB--notes-file\fP="" Read release notes from a file, or - for standard input .PP \fB-p\fP, \fB--prerelease\fP[=false] Mark the release as a prerelease .PP \fB--target\fP="" Branch or commit the tag points to, when it is new .PP \fB-t\fP, \fB--title\fP="" Release title .PP \fB--verify-tag\fP[=false] Fail if the tag does not exist on the server yet .SH OPTIONS INHERITED FROM PARENT COMMANDS \fB--csv\fP[=""] Output CSV with the specified comma-separated \fBfields\fR, or all fields .PP \fB--cwd\fP="" Working \fBdirectory\fR for repository discovery .PP \fB--debug\fP[=false] Log the method, URL, status, and duration of each HTTP request to stderr .PP \fB--host\fP="" Gitea instance \fBURL\fR, including any base path .PP \fB--interactive\fP[=false] Allow prompts with machine output .PP \fB-q\fP, \fB--jq\fP="" Filter JSON output using a jq \fBexpression\fR; implies --json .PP \fB--json\fP[=""] Output JSON with the specified comma-separated \fBfields\fR, or all fields .PP \fB--no-input\fP[=false] Disable prompts and implicit editor/browser interactions .PP \fB--remote\fP="" Git \fBremote\fR used for repository discovery .PP \fB-R\fP, \fB--repo\fP="" Select a repository as \fBOWNER/REPO\fR or URL .PP \fB--sudo\fP="" Perform API requests as this \fBuser\fR (requires an administrator account) .PP \fB--user\fP="" Account \fBname\fR on the selected instance .SH EXAMPLE .EX # Create a release in a form $ gt release create # Create a release with notes from a file and two assets $ gt release create v1.0.0 dist/gt-linux dist/gt-darwin --notes-file CHANGELOG.md # Create a draft prerelease of a new tag on a branch $ gt release create v1.1.0-rc1 --target release/1.1 --draft --prerelease --title "1.1 RC 1" .EE .SH SEE ALSO \fBgt-release(1)\fP