- 作者:老汪软件技巧
- 发表时间:2024-08-19 21:03
- 浏览量:
☃︎ 本文主要讲解我们如何在 Github 上去对我们的公共的仓库进行保护,设置分支保护规则。
目前 Github 上免费支持 Public Repo (公共的代码仓库) 去进行设置分支保护规则,如果你是 Private Repo(私有化仓库)那么必须开通团队版或者更加高级版本才支持设置分支保护策略。
目前 Github 团队版本:$4 / month。
Github 分支保护规则设置
我们进行分支保护,更多的场景是我们针对主分支或者是发版分支进行保护,比如设置仅可以除分支所有者外的开发人员只可以通过 Pull Request 进行分支合并到主分支(main),还可以设置分支合并代码多人审核。
我们在 Github 中首先进入需要设置分支保护规则的仓库,点击导航处的设置(Setting)> 分支(Branches)
点击新增分支规则新增分支保护规则,进入如下配置页面,根据自己的需求进行配置即可。
分支名称就是对应你需要进行保护的代码仓库分支,必须名称一样,配置结束后查看当前分支你就可以看到会有如下变化。
设置代码所有者
CODEOWERS 文件主要就是配置代码所有者,主要是用于根据文件类型或者全局或者文件夹等形式设置代码区块的负责人,在代码审核时候进行代码Review等权限的操作,如果不会书写CODEOWNERS,详细可以询问 OpenAI 进行解决!注意此文件位于.github/CODEOWERS, 并且此文件没有后缀。
设置代码 CODEOWERS,也是可以更加明确当前仓库中不同人的负责的模块,可以根据文件进行设置或者根据语言设置负责人(代码所有者),同时也可以进行所有设置。
CODEOWERS代码模板
# CODEOWERS
# 根目录下的所有文件和文件夹的所有者
* @samuel-xiangpeng
* @samuel-xiangpeng
# 指定文件的所有者
README.md @samuel-xiangpeng
# src/ 目录下的所有文件和子目录的所有者
/src/ @samuel-xiangpeng
# 仅分配给特定文件类型的所有者
*.swift @samuel-xiangpeng
# 特定子目录中的文件
/docs/ @samuel-xiangpeng
# 优先级:更具体的路径规则优先级更高
设置 CODEOWERS 文件后查看你添加到配置里的文件你就可以看到会有保护标识,上图就是表示当前分支已经被进行保护!
设置拉取(Pull Request)模板
将这个模板文件保存为 .github/pull_request_template.md,这样每次创建 PR 时,GitHub 会自动加载这个模板.
# Pull Request Title
## Description
- 这里描述你对代码的更改内容
- 例如:修复了某个 Bug 或添加了新功能
- 引用了相关的 Issue 编号(例如:`Closes #123`)
## Related Issues
- Closes #123
- Relates to #456
## ✅ Checklist
- [ ] 我已测试了我的更改并确认其功能正常
- [ ] 我已更新文档(如有必要)
- [ ] 我已检查代码格式并遵循项目的代码风格
- [ ] 我已在本地合并主分支并解决所有冲突
- [ ] 我已为我的更改编写了相应的测试(如有必要)
## ️ How Has This Been Tested?
- [ ] 通过单元测试
- [ ] 通过集成测试
- [ ] 手动测试
- 测试步骤 1
- 测试步骤 2
## Screenshots (Optional)
- 无
- 或者提供相应的截图
## ⚠️ Attention
- 请特别注意某个模块或功能
- 有任何未解决的冲突或问题,请在此说明
## Additional Notes
- 这里可以添加额外的信息
说明:
Description: 描述这次更改的内容。务必包括一个简短的总结,并且如果与某个 Issue 相关,列出 Issue 编号。 Related Issues: 列出所有相关的 Issue,并且使用 "Closes #issue_number" 来确保合并 PR 时,相关 Issue 会自动关闭。✅ Checklist: 确保在提交 PR 之前完成所有检查项。这有助于确保代码质量并减少错误。️ How Has This Been Tested? : 描述你是如何测试更改的,包括使用的测试类型和测试步骤。 Screenshots (Optional) : 如果更改涉及到 UI 的修改,建议提供截图来展示效果。⚠️ Attention: 提醒代码评审人员需要特别注意的地方。 Additional Notes: 提供任何额外的背景信息或评论。
注意设这这个拉取模板,目前测试只有在github上进行拉取请求时才会自动进行创建应用设置的模板!
如果有不正确的地方欢迎指点交流...