【问题标题】:On GitHub, what's the difference between reviewer and assignee?在 GitHub 上,reviewer 和 assignee 有什么区别?
【发布时间】:2017-04-26 12:19:18
【问题描述】:

2016 年 12 月 7 日添加的一项功能,在 GitHub 博客上宣布,引入了选项to add reviewers to a Pull Request

您现在可以明确请求协作者进行审核,从而更轻松地指定您希望谁来审核您的拉取请求。

您还可以在拉取请求页面侧边栏中查看您正在等待审核的人员列表,以及已离开他们的人员的审核状态。

但是,已通过分配人员(assignees 选项)为 PR 明确设置审阅者。

现在这两个选项都可用,由于它们都有相同的最终目标,每个选项的作用是什么?

【问题讨论】:

  • “受让人功能”何时发布?有没有介绍的文章?

标签: github pull-request


【解决方案1】:

编辑:

在与几位 OSS 维护者讨论之后,reviewers 被定义为这个词应该是什么:审查(某人的代码),“受让人”有一个更宽松的定义,解释如下。

对于“审阅者”:您要审阅代码的人。不一定是负责该区域或负责合并提交的人。正如 GitHub 自动建议的那样,可以是以前处理过那段代码的人。

对于“受让人”:由项目的团队/维护者决定,这意味着什么,没有严格的定义。它可以是 PR 开启者,也可以是负责该领域的人(在审查完成后将接受 PR 或关闭它)。 GitHub 不应该为项目维护者定义什么最适合他们的项目。

上一个答案:

好的,我会继续回答我自己的问题。

对于具有写入权限的用户的 PR: 受让人将是打开 PR 的同一个人,并且审阅者将替换旧的受让人功能(审查代码),成为受让人的某人选择。

对于没有写入权限的用户(外部贡献者)的 PR: 具有写入权限的人会指派自己(或其他写入权限成员)来审查 PR(审阅者)。受让人为空白。

对于来自外部贡献者的未完成 PR:写访问成员将接受未完成的工作并为她分配。她将作为受让人负责完成任务。由于 PR 的主要原因是审查变更,她会选择其他人来审查变更。

【讨论】:

  • 对于每个新的团队成员,我应该发送一个指向此答案的链接,以解释如何与受让人和审阅者打交道。这让我想到这里有一些根本性的错误:(
  • 受让人是否必须具有写入权限?
  • 两者的邮件通知行为有区别吗?
  • 电子邮件通知是类似的,但一个说你被“分配”,另一个说有人“请求你审查”。这些电子邮件还有不同的“收件人”字段(例如to:review_requested@noreply.github.com),您可以使用这些字段在 Gmail 中创建过滤器,例如自动应用标签。
【解决方案2】:

在 GitHub 中,审阅者是审阅拉取请求的人。项目所有者可以向任何维护者请求审查,他们甚至可以设置一个选项,以便只有在由具有写入权限的维护者之一审查时才能合并拉取请求。

根据官方github documentation,Assignee 是一个致力于特定问题和拉取请求的人。作为审稿人,有时会感到困惑。它实际上是用来处理问题而不是拉取请求,这样当我们收到问题时,我们可以指派某人修复它。在拉取请求中,受让人是指在从其他维护者那里获得 cmets 和更改请求后负责合并该拉取请求的人。

【讨论】:

  • 感谢您的回答,但我认为它不能完全解决问题。您可以将问题分配给某人(因此她将成为问题受让人),但是当发送 PR 时,某人将成为审稿人(PR 受让人),此时,我仍然不清楚受让人和受让人之间的区别审稿人。
【解决方案3】:

根据接受的答案。是的,“受让人”的定义比较宽松,可以根据团队需要以不同方式使用。

在我们由 8 名开发人员组成的团队中,在大多数 PR 中,我们有 1 名审阅者,他们提出更改建议并最终批准 PR。在审核阶段,“受让人”是打开 PR 的人;稍后,如果 PR 被其他开发人员选中,则会添加一个新的“受让人”。一旦 PR 获得批准并准备好进行 QA 或直接合并,就会添加一个新的 QA“受让人”。这样“受让人”列表就会增长。

我们用“受让人”来统称以下人员:

  1. 拉取请求作者
  2. 作者正在处理 PR 更改建议(通常与 1 相同)
  3. 参与的质量检查人员
  4. 负责合并的人(通常与2或3相同)

使用“受让人”有助于日后轻松定位 PR。我的一个项目有超过 3000 个 PR。

is:open is:pr author:raya-dumas

is:closed is:pr assignee:raya-dumas

或者只是 author:raya-dumas 查找作者创建的所有项目(问题、PR)

和其他类似的查询,以简化搜索过程。 “里程碑”对于简化 PR 搜索也很有帮助。

【讨论】:

  • 解释得很好。
  • 需要说明的是,你可以直接搜索author:my-github-handle 找到一个人创建的PR
【解决方案4】:

“reviewers”和“assignees”之间的最大区别在于,根据 GitHub,reviewers 实际上有一个被跟踪的状态——他们是否审查了 PR?

当您添加审阅者时,它实际上是创建一个"review request":

审阅者会收到通知(就像“受让人”一样),但现在他们实际上有一项可以完成的任务,即在拉取请求中提供"review"

在审阅者留下评论(批准或请求更改)后,该信息将在GitHub API 和界面中进行跟踪:

通过受让人,您可以将人员与 PR 相关联,但除此之外,GitHub 并不真正关心这意味着什么或这些人需要做什么。对于审阅者,您可以使用new search queries"protect" branches,并为审阅者分配CODEOWNERSbuild deeper API integrations around review assignment and workflows manually or through tools like PullApprove

【讨论】:

    【解决方案5】:

    在 GitHub 之前只有一个受理人字段,没有审阅者字段。那时没有区别,因此受理人字段最常用作审阅者字段。

    但是以适合您项目的任何方式使用它们。

    【讨论】:

      【解决方案6】:

      另一个区别:创建 PR 的人可以将自己指定为受让人,但不能要求自己作为审阅者之一。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-10-09
        • 2011-10-26
        • 2012-03-04
        • 2017-05-11
        • 2019-02-18
        • 2020-09-02
        • 2016-08-30
        • 1970-01-01
        相关资源
        最近更新 更多