codecamp

GitHub 关于拉取请求的必需审查

必需审查确保拉取请求获得特定数量的审批审查之后,协作者才可更改受保护分支。

受保护分支适用于具有 GitHub Free 和组织的 GitHub Free 的公共仓库,以及具有 GitHub Pro、GitHub Team、GitHub Enterprise Cloud 和 GitHub Enterprise Server 的公共和私有仓库。 更多信息请参阅“GitHub 的产品”。

如果您在仓库中实施了分支保护,便可设置必需审查。 有关实施分支保护的更多信息,请参阅“配置受保护分支”。有关设置必需审查的更多信息,请参阅“对拉取请求启用必需审查”。

仓库管理员可以要求所有合并请求在合并到受保护分支之前,获取必要数量的具有仓库写入管理权限的人员或者指定代码所有者的批准。 更多信息请参阅“关于受保护分支”。

启用所需的审查时,具有仓库访问权限的任何人都可以批准拉取请求中的更改。 但若没有必要数量的具有仓库写入管理权限的审查者批准您的拉取请求,您将无法合并拉取请求。 有关仓库权限级别的更多信息,请参阅“组织的仓库权限级别”。如果要求获得指定代码所有者的审查,并且拉取请求会影响具有指定所有者的代码, 则需要该所有者的批准。

如果具有管理员权限的人员在审查中选择 Request changes(申请更改)选项,则拉取请求必须经此人批准后才可合并。 如果申请更改拉取请求的审查者没有空,则具有仓库管理员写入权限的任何人都可忽略阻止审查。 更多信息请参阅“忽略拉取请求审查”。

注:仓库管理员可以限制对特定的人员或团队忽略拉取请求审查。 更多信息请参阅“启用拉取请求的必需审查”。

如果将代码修改提交推送到已批准拉取请求的分支,在仓库管理员设置了旧审查忽略时可能会忽略审批。 更多信息请参阅“对拉取请求启用必需审查”。如果推送非代码修改提交(例如将基础分支合并到拉请求的分支),则这不适用。 有关基础分支的信息,请参阅“关于拉取请求”。

除非必需审查已设置为包含仓库管理员,否则具有管理员权限的人员可以合并拉取请求,而不管其他管理员是否审查。

在所有必需的审查者批准某个拉取请求后,如果其他打开的拉取请求具有待定或被拒绝的审查,并且这些拉取请求有头部分支指向同一提交,则您无法合并该拉取请求。 具有写入管理员权限的人需要批准或忽略其他拉取请求的阻止审查,然后您才可以合并。

有具有写入管理员权限的人员批准之前,您无法将拉取请求合并到受保护分支。 如果存在待处理或拒绝的审查,您会收到错误消息:

remote: error: GH006: Protected branch update failed for refs/heads/master.
remote: error: Changes have been requested.
GitHub 启用分支限制
GitHub 启用拉取请求的必需审查
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

GitHub 身份验证

在 GitHub 上管理订阅和通知

在 GitHub 上管理活动的订阅

GitHub 组织和团队

GitHub 管理对组织仓库的 Git 访问

GitHub 计费和付款

GitHub 使用议题和拉取请求进行协作

GitHub 在具有代码质量功能的仓库上进行协作

管理在 GitHub 上的工作

GitHub 建立强大的社区

GitHub 管理仓库

GitHub 自定义 GitHub 工作流程

在 GitHub Marketplace 中购买并安装应用程序

通过 GitHub Jobs 寻找人才

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }