前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >commit 规范性提交

commit 规范性提交

作者头像
西南_张家辉
发布2021-02-02 10:03:14
4890
发布2021-02-02 10:03:14
举报
文章被收录于专栏:张家辉的树屋

添加 pre-commit 规范团队提交规范

  • 增加 eslint + pre-commit
  • 以前团队的 commit 都比较随意,没有对照和规范性。

安装

代码语言:javascript
复制
npm install --save-dev pre-commit

具体的详情可以看 github

优点

  • 可读性好,清晰,不必深入看代码即可了解当前 commit 的具体功能
  • 为以后跟踪和查看 log 历史做准备
  • code review 更加方便
  • git blame(查看每个部分是谁修改的) 更加便捷

commit message格式

  • 每次提交的时候都包括三个部分: header,body,footer
  • header 是必填,body 和 footer 都是可省略的。

1、header

  • header 分三个部分 type必填,scope选填,subject,选填
1.1、type
  • build: 项目构建打包
  • ci: 项目构建配置的变动
  • docs: 仅仅修改了文档等(不是指文案类的改动,而是指项目文档、代码注释等)
  • fix: 修复bug
  • feat: 增加新功能
  • perf: 优化
  • refactor: 重构(非fix、非feature、非style风格格式化)
  • revert: 代码回滚
  • style: 代码风格变动,例如空格、缩进等(不是指css文件变动)
  • test: 测试用例代码
  • chore: 其他类型的更改(非即以上类型的改动)

上诉是一些基础类型

1.2、scope
  • scope用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。
  • 例如在Angular,可以是
location,
location,

browser,

compile,
compile,

rootScope, ngHref, ngClick, ngView等。

  • 如果你的修改影响了不止一个scope,你可以使用*代替。
1.3、subject
  • 对 commit 的简单描述

2、body

  • Body 部分是对本次 commit 的详细描述,可以分成多行。下面是一个范例。
代码语言:javascript
复制
More detailed explanatory text, if necessary.  Wrap it to 
about 72 characters or so. 

Further paragraphs come after blank lines.

- Bullet points are okay, too
- Use a hanging indent

有两个注意点:

  • 使用第一人称现在时,比如使用change而不是changed或changes。
  • 永远别忘了第2行是空行
  • 应该说明代码变动的动机,以及与以前行为的对比。
3、footer
  • 如果当前代码与上一个版本不兼容,则 Footer 部分以BREAKING CHANGE开头,后面是对变动的描述、以及变动理由和迁移方法。
  • 关闭 Issue

demo

  • 比如现在我们增加了一个项目(projectTest)的其中一个 button 组件
  • 我们像这样来写 commit
代码语言:javascript
复制
git add .
git commit -m"feat: projectTest: add new component(button)"
  • 上面只是一个在自己项目中的 commit ,根据不同的情况,pre-commit 根据自己的项目去配置一些规范 。

参考

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
  • 优点
  • commit message格式
  • 1、header
    • 1.1、type
      • 1.2、scope
        • 1.3、subject
        • 2、body
          • 3、footer
          • demo
          • 参考
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档