gh release create

gh release create [<tag>] [<files>...]

为存储库创建新的 GitHub 版本。

可以给出要上传到新版本的资产文件列表。要为资产定义显示标签,请在文件名后附加以 # 开头的文本。

如果匹配的 git 标签尚不存在,则将从默认分支的最新状态自动创建一个。使用 --target 指向不同的分支或提交以进行自动标签创建。使用 --verify-tag 在标签不存在的情况下中止发布。要在发布后在本地获取新标签,请执行 git fetch --tags origin

要从带注释的 git 标签创建版本,请先在本地使用 git 创建一个,将标签推送到 GitHub,然后运行此命令。使用 --notes-from-tag 自动从带注释的 git 标签生成版本说明。

使用自动生成的版本说明时,除非显式传递标题,否则也将自动生成版本标题。可以使用 --notes 标志将其他版本说明附加到自动生成的说明之前。

选项

--discussion-category <string>
在指定类别中启动讨论
-d, --draft
将版本保存为草稿,而不是发布它
--generate-notes
自动为版本生成标题和说明
--latest
将此版本标记为“最新”(默认 [根据日期和版本自动设置])。--latest=false 显式地不设置为最新
-n, --notes <string>
版本说明
-F, --notes-file <file>
从文件读取版本说明(使用“-”从标准输入读取)
--notes-from-tag
自动从带注释的标签生成说明
--notes-start-tag <string>
用作生成版本说明的起点的标签
-p, --prerelease
将版本标记为预发布
--target <branch>
目标分支或完整提交 SHA(默认 [主分支])
-t, --title <string>
版本标题
--verify-tag
如果 git 标签在远程存储库中不存在,则中止

从父命令继承的选项

-R, --repo <[HOST/]OWNER/REPO>
使用 [HOST/]OWNER/REPO 格式选择另一个存储库

别名

gh release new

示例

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

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"

另请参见