TT Lab
博客

한국어 English 日本語 中文

开始
博客

博客

Fixes #1234:PR 描述的第一行,关闭 Issue 的关键词

今日英语表达 7/30 · 场景:PR 描述。 所有例句均为本文特意编写。并非搬运自实际仓库的 PR,Issue 编号仅为示例。

目录

一览

表达 Fixes #1234 / Closes #1234 / Resolves #1234
含义 此 PR 修复了 1234 号 Issue(合并后将关闭 Issue)。
使用位置 PR 描述、Commit 消息
礼貌程度 不适用。这是机器读取的格式

1. 含义与语境

根据 GitHub 文档,如果在 PR 描述或 Commit 消息中同时使用关闭关键词和 Issue 编号,PR 与 Issue 就会建立关联,并且在 PR 合并时会自动关闭 Issue。关键词共有九个:close、closes、closed、fix、fixes、fixed、resolve、resolves、resolved。文档说明,使用大写字母或在关键词后面加上冒号(CLOSES #10, Closes: #10)也是允许的。

这里有一个重要的条件。 只有当 PR 针对的是仓库的默认分支(通常是 main)时 ,关键词才会生效。如果在针对发布分支(Release Branch)的 PR 中使用 Fixes,Issue 不会被关闭,也不会建立关联。当指向其他仓库的 Issue 时,需要像 Fixes owner/repo#1234 这样带上仓库名。如果有多个 Issue,则必须像 Fixes #10, fixes #11 这样 为每个 Issue 都附上关键词 。

Kubernetes 的 PR 模板中有一个名为 Which issue(s) this PR is related to 的栏目,说明中要求在 Issue 编号前加上 Fixes。KubeVirt 的 PR 模板也在 References 栏中 Fixes # 预先写好了这一行,并指导说如果想在合并时关闭 Issue,就要写成这种格式。

我们也要了解它作为英语句子的语境。fixes 表示“修复 Bug”,closes 表示“结束 Issue”(用于功能请求或文档编写也很自然),resolves 则介于两者之间。虽然功能完全一样,但选择符合 Issue 性质的单词会更易于阅读。

2. 例句

情况 1:Bug 修复 PR 的第一行

Fixes #1234

The restore job now waits for the PVC to be bound before starting the pod.

把关键词放在第一行,空一行后用一两句话写清楚修改了什么。

情况 2:仅关联而不关闭 Issue 时

Part of #2001. This PR adds the API field only; the controller logic will follow in a separate PR.

如果是大型工作的一部分,就不能使用 Fixes。因为一旦这个 PR 合并,尚未完成的 Issue 就会被直接关闭。像 Part of、Related to、Refs 这样的词不是关键词,因此不会关闭 Issue。

情况 3:当 Reviewer 要求建立关联时

Could you add Fixes #1234 to the PR description so the issue gets closed on merge?

3. 相似表达与区别

4. 韩国人常犯的错误

5. 一行练习

请将以下内容写为 PR 描述的前两行。此 PR 仅解决 3456 号 Issue 的一部分。

这是 3456 号 Issue 的一部分。本次 PR 仅修改文档。

参考答案

Part of #3456

This PR only updates the docs. The code change will follow in a separate PR.

因为只解决一部分,所以用 Part of 代替 Fixes。will follow 的意思是“随后将会进行”。

TT 的话。 Fixes 是供 GitHub 读取并执行操作的关键词。只有在 Issue 完全解决时才使用。

参考资料

登录后即可点赞

评论

还没有评论。

登录后即可发表评论