git执行规范

114 阅读2分钟

背景:

现有git commit存在数量过多、非线性、信息不清等问题,为代码部分合并及功能历史追溯带来较大困扰,故需要一套git流程及commit规范。

流程规范

  • 迭代开始时,3分及以上的item需基于迭代分支新建相应的功能分支feature/xxx
  • 开发过程中需要临时切换分支时,尽量使用暂存stash替代commit,避免无意义commit。
  • 提交commit信息时,需带上teambition对应的item号,如没有对应item可留空。
  • 在功能分支上开发完毕后,检查此分支上所有的commit log记录,使用git rebase整理合并冗余信息,最终merge回迭代分支进行测试。
  • 【前端】业务代码改动和设置的改动尽量分commit add,不要在同一次提交内。
  • 使用git cherry-pick合并代码后,git rebase整理合并信息

\

commit规范

commit message 包括两个部分:Header,Body

<id><type>: <subject>
// 空一行
<body>

Header(必填)

Header 包括三个字段:id(必填)、 type(必填)和 subject(必填)

id

功能或bug在teambition上对应的item号,使用<>包裹,如

type

type 用于说明 commit 的类别,只允许使用下面 7 个标识。

  • feat:新功能(feature)
  • fix:修补bug
  • docs:文档(documentation)
  • style: 格式(不影响代码运行的变动)
  • refactor:重构(即不是新增功能,也不是修改bug的代码变动)
  • test:增加测试
  • chore:构建过程或辅助工具的变动
  • merge:此次commit是一次merge

subject

subject 是 commit 目的的简短描述,不超过50个字符,与type之间需要用冒号分隔。

Body(选填)


Body 部分是对本次 commit 的详细描述,可以分成多行。

使用示例:

git commit -m '<ECM-7480>fix: 生产bug修复' 
git commit -m '<ECM-7490>feat: 权限改造一期 

1、架构改造,支持后续相关规划
2、增加“基础数据”模块权限
3、完善档案管理模块权限'

具体效果: