github项目协作
声明: 只是个人看法~
权限
组织
组织中合理的权限可方便管理项目
- Owner - 将具备该组织下所有的权限, 包括关联的 travis、coveralls 之类的服务, 项目设置, 删除项目, 删除组织等高危操作.
- Member - 组织成员, 可具备组织下属仓库的写权限, 不能项目设置相关操作.
个人项目
可给某个用户添加 Collaborators 权限, 这样用户就具备项目的写权限了, 不然只能 PR 形式开发~ 但不能项目设置相关操作.
添加帮助文档
README.md
项目必须具备 /README.md 文档, 一般内容目录如:
- 项目名称
- 项目介绍
- 如何使用项目
- 项目支持
- 更新记录
- 项目贡献者
- ...
https://help.github.com/articles/about-readmes/
ISSUE_TEMPLATE.md
创建 issue 的初始模板, 方便大家提 issue 时提供更有效的信息, https://help.github.com/articles/creating-an-issue-template-for-your-repository/
PULL_REQUEST_TEMPLATE.md
创建 PR 的初始模板, 方便大家在 PR 内说明修改的内容, https://help.github.com/articles/creating-a-pull-request-template-for-your-repository/
CONTRIBUTING.md
创建开发者贡献说明, 可以说明如何安装、编译、测试等环节, 方便贡献开源生态~ https://help.github.com/articles/setting-guidelines-for-repository-contributors/
其他的帮助文档如 SUPPORT.md、CODE_OF_CONDUCT.md 详情: https://help.github.com/categories/building-a-strong-community/
持续测试服务
- travis-ci.org - 持续集成构建项目, 可用于跑测试用例
- ci.appveyor.com - windows环境的持续集成
- coveralls.io - 代码覆盖率报告
- codacy.com - 代码检查, 支持 eslint
- saucelabs.com - 多浏览器环境测试
项目配置和描述
视项目规模而不同, 这里以组织下多 Owner 的项目为例
- 保护 master 分支, 使其不能直接提交、不能删除
- 合入 master 前单元测试、测试覆盖率必须通过
- 合入 master 前必须有 Owner 为其 Review
- 合入 master 代码即达到
可上线状态 - 所有 PR 的测试覆盖率不能减少
- 合并 PR 时将使用 squash 形式合入, 合入成功后将删除原分支
- 可使用在 commit log 内包含
close #id、fix #id提交合并后自动关闭, 也方便 github 关联起来 - 添加
~/.editorconfig编辑器配置 - 添加
lint规则验证
感谢
本文链接:https://xuexb.com/post/github-project-management.html
-- EOF --
提醒: 本文最后更新于 3038 天前,文中所描述的信息可能已发生改变,请谨慎使用。
Comments
注:如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理。