09月04, 2017

github项目协作

声明: 只是个人看法~

权限

组织

组织中合理的权限可方便管理项目

  • Owner - 将具备该组织下所有的权限, 包括关联的 travis、coveralls 之类的服务, 项目设置, 删除项目, 删除组织等高危操作.
  • Member - 组织成员, 可具备组织下属仓库的写权限, 不能项目设置相关操作.

个人项目

可给某个用户添加 Collaborators 权限, 这样用户就具备项目的写权限了, 不然只能 PR 形式开发~ 但不能项目设置相关操作.

添加帮助文档

README.md

项目必须具备 /README.md 文档, 一般内容目录如:

  1. 项目名称
  2. 项目介绍
  3. 如何使用项目
  4. 项目支持
  5. 更新记录
  6. 项目贡献者
  7. ...

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 的项目为例

  1. 保护 master 分支, 使其不能直接提交、不能删除
  2. 合入 master 前单元测试、测试覆盖率必须通过
  3. 合入 master 前必须有 Owner 为其 Review
  4. 合入 master 代码即达到可上线状态
  5. 所有 PR 的测试覆盖率不能减少
  6. 合并 PR 时将使用 squash 形式合入, 合入成功后将删除原分支
  7. 可使用在 commit log 内包含 close #idfix #id 提交合并后自动关闭, 也方便 github 关联起来
  8. 添加~/.editorconfig编辑器配置
  9. 添加lint规则验证

感谢

本文链接:https://xuexb.com/post/github-project-management.html

-- EOF --

发表于 2017年09月04日 12:40:10 ,添加在分类 记事本 下 ,并被添加「 github 」标签 ,最后修改于 2017年09月17日 12:04:39

提醒: 本文最后更新于 3038 天前,文中所描述的信息可能已发生改变,请谨慎使用。

Comments

评论加载中...

注:如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理。

AltStyle によって変換されたページ (->オリジナル) /