咚咚技术团队
  • 首页
  • 文章
    • 前端
      • 0.1 + 0.2 精度丢失深究
      • IOS H5 视频无法播放
      • H5 播放 amr 音频文件
      • IOS 10.x 版本在 Taro 中的兼容性问题
      • 百度 UEditor 引发的 cross-iframe 问题解决方案
      • 访问 www.banchengyun.com 时发生了什么
      • decodeURIComponent 与特殊符号
      • 前端埋点
    • 后端
      • Swoole 相关
        • MAC 本地环境执行 GuzzleHttp 时导致 Swoole 进程异常退出
      • Hyperf 相关
        • 在 phpstorm 中调试 hyperf 代码
        • Hyperf 1.x Proxy 缓存失效问题
      • K8s 相关
        • 搭建 k8s 集群
        • 使用 docker-compose 快速搭建 Hyperf + Redis 开发环境
        • Kubernetes Autoscaler
      • 其它
        • 幂等性和原子性
    • 测试
    • 效能提升
      • 优秀开发者的第一步:始于需求分析
      • 优秀开发者的第二步:如何阅读他人的代码
  • 活动
  • 课堂
  • 知识库
    • 公共
      • 什么是流程型组织
      • 半城云集成产品开发流程
      • 阿⾥云 Codeup 代码平台使⽤ & 迁移指南
      • git 使用规范
      • 关于第三方与服务号授权的问题
      • 收不到消息的排查方法
      • 系统安全
      • 前端编码规范
      • 后端编码规范
      • 测试规范
    • 前端
      • 规范
        • 前端编码规范
        • 咚咚技术栈
        • code-review 规范
        • git 工作流
        • Tapd 文档
      • 复盘经验
        • 2021.01 效能、规范、技术债讨论会
      • Code Review
        • SCRM 2020-07
    • 后端
      • 复盘经验
        • SCRM 2020 年 8 月
      • Code Review
        • SCRM 2020-07
    • 测试
      • 复盘经验
        • SCRM 2020 年 8 月
  • 项目文档
    • 前端
    • 后端:小程序
    • 后端:企业微信
  • 接口文档
  • 兴趣小组
    • golang 小组
    • 增长小组
    • 前端小组
  • 书单推荐
  • 生产环境 分析会
    • NO.2022.01
  • 生产环境 可用性
  • 团队活动
    • OpenTalk
      • NO.2021.Q3
      • NO.2020.Q2
    • WalkTogether
  • 关于我们
  • GitBook 使用说明
由 GitBook 提供支持
在本页
  • 分支规范
  • 创建新功能分支或热修复分支
  • 合并功能分支到测试环境
  • 删除分支
  • 对应提交内容摘取
  • git 提交命名规范
  • 1.类型
  • 2.内容
  • 3.备注
  • 一些优秀的提交信息(摘取自 antd)

这有帮助吗?

  1. 知识库
  2. 前端
  3. 规范

git 工作流

分支规范

  • 主分支(保护分支):master

正式环境分支,所有新版本都应由此处 checkout 出去。 这个分支用于合并其他的功能分支并发布到线上,应该相对独立,不能在该分支直接修改。

  • 主分支(保护分支):develop

测试环境分支,揉杂正在测试的各个分支以及大部分的测试用代码,严格上禁止将此分支合并到功能分支或从他 checkout 新分支。

  • 辅助分支

1. feature 功能分支,version由产品以语义化版本的规范确定。
2. hotfix 线上热修复分支
3. release 预发布分支

辅助分支用于临时的开发需要,在功能上线且测试通过的情况下应该及时删除。

创建新功能分支或热修复分支

// 所有新功能都应该从master分支切出去
git checkout master

git checkout -b feature/v3.0.5

合并功能分支到测试环境

git checkout develop

git merge feature/v..

删除分支

git branch -D feature/v..

对应提交内容摘取

git cherry-pick [commit-id]

git 提交命名规范

遵循三要素原则,即

  • 类型(模块 || 总结)type

  • 内容 content

  • 备注 remarks

对应公式为:

<type>(<content>): <remarks>

其中类型和内容必填,备注选填。

1.类型

规范的主要类型如下:

  • feat:新功能或功能变更相关

  • fix:修复 bug 相关

  • docs:改动了文档,注释相关

  • style:修改了页面样式或代码格式化相关,如删除空格、改变缩进、单双引号切换、增删分号等,并不会影响代码逻辑

  • refactor:重构代码,代码结构的调整相关(仅改变写法,理论上不改变主流程)

  • perf:性能改动,性能、页面等优化相关

  • test:增加或更改测试用例,单元测试相关

  • build: 影响编译的更改相关,比如打包路径更改、npm 过程更改等

  • chore:其它改动相关,比如文件的删除、构建流程修改、依赖库工具更新增加等

其中项目中用得较多的是 feat、fix、docs、style。

2.内容

简短概括本次提交文件包含的内容,可以是修复了什么缺陷、完成了某一个模块的功能,建议在一行内描述完毕。

3.备注

该模块为选填,可以附带上对提交信息有帮助的内容,如修复缺陷对应的 bugId、线上热修复时间等。

一些优秀的提交信息(摘取自 antd)

git commit -m "feat(shadow): adjust less variable of shadow according to the document"

git commit -m "fix(Form): scrollToError abnormal sequence of dynamic form"
上一页code-review 规范下一页Tapd 文档

最后更新于3年前

这有帮助吗?