头像
嘉兰月
 
文章 标签
17 13
社交 github bilibili

欢迎光临 | Theme: Fog
载入时间中...
总访问量:   |   访问人数:
Powered by Glidea
Copyright © 2020
规范你的 Git commit
2025-01-25 7 min read git

规范你的 Git commit

  热度 : loading...

commit message格式

<type>(<scope>): <subject>

type(必须)

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

  • feat:新功能(feature)
  • fix/to:修复bug,可以是QA发现的BUG,也可以是研发自己发现的BUG
  • fix:产生diff并自动修复此问题。适合于一次提交直接修复问题
  • to:只产生diff不自动修复此问题。适合于多次提交。最终修复问题提交时使用fix
  • docs:文档(documentation)
  • style:格式(不影响代码运行的变动)
  • refactor:重构(即不是新增功能,也不是修改bug的代码变动)
  • perf:优化相关,比如提升性能、体验
  • test:增加测试
  • chore:构建过程或辅助工具的变动
  • revert:回滚到上一个版本
  • merge:代码合并
  • sync:同步主线或分支的Bug

scope(可选)

scope用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。

例如在Angular,可以是location,browser,compile,compile,rootScope, ngHref,ngClick,ngView等。如果你的修改影响了不止一个scope,你可以使用*代替。

subject(必须)

subject是commit目的的简短描述,不超过50个字符。

建议使用中文(感觉中国人用中文描述问题能更清楚一些)。

  • 结尾不加句号或其他标点符号
  • 根据以上规范git commit message将是如下的格式:
    fix(DAO):用户查询缺少username属性 
    feat(Controller):用户查询接口开发
    

以上就是我们梳理的git commit规范,那么我们这样规范git commit到底有哪些好处呢?

  • 便于程序员对提交历史进行追溯,了解发生了什么情况
  • 一旦约束了commit message,意味着我们将慎重的进行每一次提交, 不能再一股脑的把各种各样的改动都放在一个git commit里面,这样一来整个代码改动的历史也将更加清晰
  • 格式化的commit message才可以用于自动化输出Change log

赞赏
  • 文章作者:嘉兰月
  • 原文链接:post/specification-git-commit
  • 版权声明:本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!
背景