/meow

Meow~喵~是一个面向新手的 Git/GitHub/GitLab 团队开发协作修炼场所

Primary LanguagePythonCreative Commons Attribution 4.0 InternationalCC-BY-4.0

GitHub repo size GitHub issues

Meow

  • 这是一个面向新手的 Git/GitHub/GitLab 团队协作修炼场所,玩一次即可熟悉 Git/GitLab/GitHub 上团队协作开发实战的流程
  • 为了简化学习过程,提高学习乐趣,在开启学习之前,请至少准备猫咪皂片一张,没有猫的,可以去 unsplash 使用关键词 cat 或者 kitten 搜索,一定会找到萌到你的猫咪照,meow~

目标

  • 为使用 Git/GitHub/GitLab 协作开发的团队中的新手成员提供一份参考指南和训练场所。
  • 项目本身很简单,不要求参与的人贡献代码,不需要编程技能,任何想熟悉 Git/GitHub/Gitlab 的人都可以参加。
  • 通过这个项目可以学会:
    • Git 从克隆项目(fork/clone),创建分支(branch),提交和同步修改(pull/push),到发起合并请求(PR)的流程;
    • 使用 GitHub/GitLab 进行项目协作开发管理。

分支说明

长期分支(稳定分支)

  • master

临时分支

  • issues/{issue-id},新建分支优先使用的命名约定
  • bugfix/{issue-id},为了区分描述的问题是BUG,可以使用 bugfix 分支命名约定
  • hotfix/{issue-id},紧急情况的线上修复,可以使用 hotfix 分支命名约定
  • releases/{milestone-title},项目定期发布的分支命名约定

Git 分支规范

  1. fork 项目到自己的空间,如果是自己是 GitLab 的项目成员或者 GitHub 的项目协作成员,可以不用做这一步
  2. 认领自己准备要做的 issue, 假设 issue 编号是 #99
  3. 更新自己本地 master 分支代码: git pull
  4. 创建一个名字叫 issues/99 的分支: git checkout -b issues/99 master
  5. 开始功能开发,每一个 commit 都要带上自己的 issue id,完成之后提交自己的改动,如 git commit -m '#99 昨天撸的那只猫的照片'
  6. 提交自己的分支到 GitLab 或者 GitHub 上,git push -u origin issues/99
  7. 如果自己的分支开发完毕,本地测试过了,向 milestone 对应的分支发起 pull request(PR),假设 milestone 名字是 20181028,base 分支则是 releases/20181028
  8. 等 milestone 中所有的 issue 的开发都完成了(开发不完则移动到下一个 milestone),则都合并到 releases/20181028,这样 releases/20181028 这个分支就是最新开发的所有功能的代码,master 是上一个最新的,后面我们流程规范了,还会对 releases/20181028 分支进行各种测试,这个分支没有问题了
  9. 将 releases/20181028 分支与 master 分支合并,打个 tag,名字是 20181028,git tag 20181028,进行发布
  10. 进入下一个迭代和功能开发

项目管理

使用 Label 和 Issue 进行项目管理

标签分组和颜色设置

分组 前缀 Label 背景颜色 RGB 值
项目排期 项目 已确认,已排期,延后,开发中,测试中,已上线,待讨论 c5def5
功能分类 分类 BUG,新功能,功能增强,功能完善,文档修改 d4c5f9
优先级 优先级 紧急,高,低 e99695

项目发布

  • 每周二发布,版本号为发布日的日期,格式为 yyyyMMdd

参与项目

  1. 角色扮演(如果是自己是 GitLab 的项目成员或者 GitHub 的项目协作成员)
    • 新建一个 issue,为这个 issue 选好对应的标签,项目排期,功能分类,优先级至少各有一个标签
    • 把 issue 分配给自己
    • 把 issue 添加到对应的 milestone
  2. 上传至少一张猫照
    • 创建一个目录
    • 尽量使用有意义的名字且不要出现空格
    • 目录名称可使用你的 GitHub ID 或者其他社交平台上非中文的 ID 来命名
    • 影响排序的目录命名 (例如 AAAA.Folder,0.Folder,111Folder) 会被 Close Pull Request
    • 如果需要在你的文件夹内创建描述文件,请尽量使用 Markdown 语法来编写
    • 将猫照放在这个目录下面,照片尽量压缩,Size 不要太大,清晰度不要太低
  3. 使用 Git 分支规范完成任务
  4. 在 PR 被合并之后,关闭 issue
  5. 请仔细阅读 CONTRIBUTING

License

本项目采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

参考资料