关于自动生成的发行说明
自动生成的发行说明为手动编写 GitHub 发行说明提供了自动化的替代方案。使用自动生成的发行说明,您可以快速生成发行内容的概览。自动生成的发行说明包括已合并的拉取请求列表、发行贡献者列表以及指向完整更新日志的链接。
您也可以自定义自动化发行说明,使用标签创建自定义类别,以组织您想要包含的拉取请求,并排除特定标签和用户,使其不出现在输出中。
为新发行创建自动生成的发行说明
-
在 GitHub 上,导航至仓库的主页面。
-
在文件列表的右侧,点击 Releases。

-
在页面顶部,点击 Draft a new release。
-
要为发行选择标签,请选择 Choose a tag 下拉菜单。
- 要使用已有标签,点击该标签。
- 要创建新标签,输入发行的版本号,然后点击 Create new tag。
-
如果您创建了新标签,请选择 Target 下拉菜单,然后点击包含您想要发行项目的分支。
-
可选地,在描述字段上方,选择 Previous tag 下拉菜单,然后点击标识上一次发行的标签。

-
在 “Release title” 字段中,输入发行的标题。
-
在描述字段上方,点击 Generate release notes。
-
检查生成的说明,确保它们包含了您想要的所有(且仅有的)信息。
-
可选地,要在发行中包含二进制文件(如编译程序),可将文件拖放到二进制框中或手动选择文件。
-
可选地,要通知用户此发行尚未准备好用于生产,可能不稳定,请选择 This is a pre-release。
-
可选地,选择 Set as latest release。如果您不选择此项,最新发行标签将根据语义化版本号自动分配。
-
可选地,如果仓库已启用 GitHub Discussions,请为此次发行创建讨论。
- 选择 Create a discussion for this release。
- 选择 Category 下拉菜单,然后点击发布讨论的类别。
-
如果您准备好发布发行,请点击 Publish release。若想稍后继续处理发行,请点击 Save draft。如果您已为仓库启用了不可变发行,先创建草稿可让您在发行变为不可变之前附加所有资产。随后,您可以在仓库的发行列表中查看已发布或草稿状态的发行。更多信息,请参阅 Viewing your repository's releases and tags。
配置自动生成的发行说明
-
在 GitHub 上,导航至仓库的主页面。
-
在文件列表上方,选择 添加文件下拉菜单,然后点击 创建新文件。
或者,您可以点击在左侧的文件树视图中。

-
在文件名字段中输入
.github/release.yml。这将会在.github目录下创建一个名为release.yml的新文件。 -
在文件中,使用下面的配置选项,以 YAML 形式指定您想在此发行中排除的拉取请求标签和作者。您还可以创建新类别,并列出要包含在每个类别中的拉取请求标签。
配置选项
| 参数 | 描述 |
|---|---|
changelog.exclude.labels | 用于排除拉取请求不出现在发行说明中的标签列表。 |
changelog.exclude.authors | 要从发行说明中排除其拉取请求的用户或机器人登录名列表。 |
changelog.categories[*].title | 必填。 发行说明中变更类别的标题。 |
changelog.categories[*].labels | 必填。 将拉取请求归入此类别的标签。使用 * 作为兜底,用于未匹配任何前述类别的拉取请求。 |
changelog.categories[*].exclude.labels | 用于排除拉取请求不出现在此类别中的标签列表。 |
changelog.categories[*].exclude.authors | 要从此类别中排除其拉取请求的用户或机器人登录名列表。 |
示例配置
针对使用语义化版本标签的仓库的配置示例
# .github/release.yml
changelog:
exclude:
labels:
- ignore-for-release
authors:
- octocat
categories:
- title: Breaking Changes 🛠
labels:
- Semver-Major
- breaking-change
- title: Exciting New Features 🎉
labels:
- Semver-Minor
- enhancement
- title: Other Changes
labels:
- "*"
# .github/release.yml
changelog:
exclude:
labels:
- ignore-for-release
authors:
- octocat
categories:
- title: Breaking Changes 🛠
labels:
- Semver-Major
- breaking-change
- title: Exciting New Features 🎉
labels:
- Semver-Minor
- enhancement
- title: Other Changes
labels:
- "*"
针对不为拉取请求打标签的仓库,但我们希望在发行说明中单独列出 Dependabot 自动拉取请求的配置示例(需要 labels: '*' 以显示兜底类别)
# .github/release.yml
changelog:
categories:
- title: 🏕 Features
labels:
- '*'
exclude:
labels:
- dependencies
- title: 👒 Dependencies
labels:
- dependencies
# .github/release.yml
changelog:
categories:
- title: 🏕 Features
labels:
- '*'
exclude:
labels:
- dependencies
- title: 👒 Dependencies
labels:
- dependencies