commit 规范性提交
添加 pre-commit 规范团队提交规范
- 增加 eslint + pre-commit
- 以前团队的 commit 都比较随意,没有对照和规范性。
安装
npm install --save-dev pre-commit
复制代码
具体的详情可以看 github
- github.com/observing/p…
优点
- 可读性好,清晰,不必深入看代码即可了解当前 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,可以是browser, rootScope, ngHref, ngClick, ngView等。
如果你的修改影响了不止一个scope,你可以使用*代替。
1.3、subject
- 对 commit 的简单描述
2、body
- Body 部分是对本次 commit 的详细描述,可以分成多行。下面是一个范例。
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
git add .
git commit -m"feat: projectTest: add new component(button)"
复制代码
- 上面只是一个在自己项目中的 commit ,根据不同的情况,pre-commit 根据自己的项目去配置一些规范 。
参考
- www.ruanyifeng.com/blog/2016/0…
- github.com/observing/p…
commit 规范性提交相关推荐
- git commit -m 提交时报错husky pre-commit (node v12.18.2)
git commit -m ""提交时报错husky > pre-commit (node v12.18.2) husky > pre-commit (node v12 ...
- git commit -m ‘提交信息‘ --no-verify 的妙用
问题: 解决:git commit -m '提交信息' --no-verify
- git cherry-pick 把提交到A分支的部分commit 再提交到B分支上
应用环境: 有一个主分支 master (这个分支只是用来合并其他通过测试的分支,及上线打版本) 另一个分支 dev (开发提交的分支) 当你通过一番挣扎终于搞定一个bug,顺手提交到 git 服务器 ...
- Mybatis openSession.commit()手动提交数据和openSession.commit(true)自动动提交数据
openSession.commit(true)自动提交数据
- git-cz git commit 定制提交规范
git commit规范定制 步骤1: 安装 commitizen cz-emoji(表情符) npm i commitizen cz-emoji --save 步骤2:打开package.json ...
- git commit -m 提交忽略代码校验
git commit -m 忽略代码校验 git 提交代码时候报eslint --fix found some errors. Please fix them and try committing a ...
- git commit 代码提交规范
1. 前言 每个人 git 的提交记录都有自己的风格和习惯,特别是多人协作开发的项目,如果没有一套完整的规范,则每个人的代码提交描述内容会很随意,质量参差不齐,会降低 log 的可读性和维护性.所以, ...
- git合并多个远程commit并提交
查了很多博客,最后看了 https://segmentfault.com/a/1190000007748862 成功地把本地的提交合并了.不过因为我这些commit已经push到远程上了,所以和文章里 ...
- 修改git已提交的commit中提交者的用户名和邮箱
如下图中,将已经提交的commit中,用户名jincheng-demo,jincheng-demo01,以及邮箱jincheng@test.com, 修改为正确的用户名:jincheng,正确的邮箱: ...
最新文章
- memcached 常见问题 翻译
- android的消息处理机制(图文+源码分析)—Looper/Handler/Message[转]
- 空间三维坐标的旋转 理解与记忆
- qt中new与delete使用示例
- P1306-斐波那契公约数【矩阵乘法,数论】
- leetcode1219. 黄金矿工(回溯)
- 常用技巧 —— 位运算 —— 位运算基础
- GRE 隧道配置案例(静态、动态路由)
- c语言高级程序设计第五版PDF,C语言高级编程.pdf
- 上岸后如何选择一个好的导师
- IT忍者神龟之Java动态代理与CGLib代理
- 利用navicat 进行 mysql建表语句转oracle建表语句
- 实用供热空调设计手册_暖通空调设计与施工数据图表手册
- Excel如何取消合并单元格并填充空单元格
- 2020年4月github上最热门项目-python
- Android蓝牙通讯(服务端、客户端)
- 存储简单数据——Preferences
- ArcEngine中的ICommand和ITool
- leetcode507. 完美数
- SpringCloud Alibaba 实战之《服务门户:Spring Cloud Gateway 如何把好微服务的大门》