codecamp

GitHub 配置受保护分支

如果您是仓库所有者或者拥有仓库管理员权限,您可以自定义仓库中的分支保护和实施某些工作流程,例如要求在合并拉取请求之前进行多次拉取请求审查或某些状态检查。

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

您可以在仓库中为特定分支、所有分支或者与使用 fnmatch 语法指定的命名模式匹配的任何分支创建分支规则。 例如,若要求包含文字 release 的任何分支在合并之前至少有两次拉取请求审查,则可为 *release* 创建分支规则。

您还可以使用通配符语法 * 为仓库中的所有分支设置自动分支保护。 由于 GitHub 对 File.fnmatch 语法使用 File::FNM_PATHNAME 标记,因此通配符与目录分隔符 (/) 不匹配。 例如,qa/* 将匹配以 qa/ 开头并包含单个斜杠的所有分支。 您可以通过 qa/**/* 包含多个斜杠,也可以通过 qa**/**/* 扩展 qa 字符串,使其更具包容性。 有关分支规则语法选项的更多信息,请参阅 fnmatch 文档

要创建对现有分支规则的例外,您可以创建优先级更高的新分支保护规则,例如针对特定分支名称的分支规则。 有关受保护分支规则的优先级顺序及其他设置的更多信息,请参阅“关于受保护分支”。

注:创建分支规则时,指定的分支不必是仓库中现有的分支。

  1. 在 GitHub 上,导航到仓库的主页面。

  1. 在仓库名称下,单击 settingSettings(设置)

仓库设置按钮

  1. 在左侧菜单中,单击 Branches(分支)

仓库选项子菜单

  1. 在“Branch protection rules(分支保护规则)”旁边,单击 Add rule(添加规则)

添加分支保护规则按钮

  1. 在“Branch name pattern(分支名称模式)”下,输入您要保护的分支名称或模式。

分支规则字段

  1. (可选)您可以配置特定分支规则设置。

受保护分支规则设置

  1. 要确认分支保护规则,请单击 Create(创建)Save changes(保存更改)

延伸阅读

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; }