GitHub分支保护教程
GitHub分支保护是确保代码质量和维护项目稳定性的重要工具。以下是如何在GitHub上设置分支保护的详细步骤和规则:
- 找到设置界面:首先,打开你的GitHub仓库,然后依次点击
Settings→Branches→Branch protection。 - 创建规则:点击
Add rule来创建一个新的分支保护规则。你需要为规则命名,并选择要保护的分支。 - 启用规则:在
Enforcement status中选择Active来启用规则。 - 设置Bypass权限:在
Bypass部分,你可以选择哪些角色或GitHub应用可以绕过这些规则,例如Repository admin。 - 选择目标分支:你可以选择保护所有分支,或者只保护特定的分支。点击
Include all branches来保护所有分支。 细分规则:
- 限制创建:只有拥有Bypass权限的人才能创建与正则表达式匹配的分支/标签。
- 限制更新:只有拥有Bypass权限的人才能修改与正则表达式匹配的分支/标签。
- 限制删除:只有拥有Bypass权限的人才能删除与正则表达式匹配的分支/标签。
- 要求线性历史:防止协作者向受保护的分支推送合并提交,只允许提交变基合并或压缩合并,以保持提交历史记录的简洁。
- 要求部署成功:要求每次合并必须先验证其在指定环境中部署成功。
- 要求签名提交:所有合并必须使用GPG或S/MIME签名,以确保提交确实来源于开发者。
- 要求拉取请求:合并前需要先提交一个PR。
- 要求状态检查:确保代码在合并前必须通过一系列自动化检查,如GitHub Actions/CI/CD等。
- 阻止强制推送:防止未经审核的代码直接推送到受保护的分支。
附加设置:
- 所需批准:设置需要多少个人批准合并之后才可合并。
- 忽略过期的拉取请求批准:保证对于旧快照的批准不会延续到新的提交中。
- 要求Code Owners审查:只有被明确列为“Code Owner”的人(或团队)点了Approve,PR才能合并到受保护分支。
- 要求最近的审查推送批准:确保在代码合并前,最后一次推送的更改也必须经过代码审查和批准。
- 要求对话解决:在审阅时,评审者可以提出Comment,这个选项确保在合并PR之前,所有代码审查中的Comment都已被解决。
- 自动请求Copilot代码审查:如果作者有权限访问Copilot代码审查,那么就会自动进行代码审查。
- 允许的合并方式:设置允许的合并方式。
- 要求分支更新:主干永远只接受“已经在最新状态上验证过”的代码。
- 不要求创建时的状态检查:允许PR在刚创建、还没有任何CI报告回来之前就能被合并。
- 设置CI/CD检查:设置需要的CI/CD等自动化检查。
通过以上步骤,你可以有效地保护你的GitHub仓库,确保代码质量和项目的稳定性。
评论已关闭