git已经是世界上最流行的版本管理系统了,平时的开发过程中少不了要和git打交道,通常git小白只会用到一些常见的commit、push、pull等命令,今天小编和大家分享一些git中非常好用但又容被忽视的小功能。
使用.gitignore
场景:
一些系统或者 ide 会在目录下生成与项目不相关的文件,而这些文件我们不期望被提交到仓库之中,如python运行产生的__pycache__文件夹
数据文件特别大,一般不建议上传到仓库,只需要提供一下数据获取方法的文档就好
# 忽略所有.json后缀的文件*.json # 忽略node_modules中所有的文件node_modules/ # 忽略foo目录下除去foo/bar/的内容foo/!foo/bar/
参考文档: https://git-scm.com/docs/gitignore
commit message 格式
目前规范使用较多的是 angular 团队的规范, 继而衍生了 conventional commits specification. 很多工具也是基于此规范, 它的 message 格式如下:
# head: (): # - type: feat, fix, docs, style, refactor, test, chore# - subject: start with verb (such as 'change'), 50-character line # body: 72-character wrapped. this should answer:# * why was this change necessary?# * how does it address the problem?# * are there any side effects? # footer: # - include a link to the ticket, if any.# - breaking change
大致分为三个部分(使用空行分割):
标题行: 必填, 描述主要修改类型和内容
主题内容: 描述为什么修改, 做了什么样的修改, 以及开发的思路等等
页脚注释: 放参考链接、文档地址、 breaking changes 或 closed issues
分别由如下部分构成:
type: commit 的类型
feat: 新特性
fix: 修改问题
refactor: 代码重构
docs: 文档修改
style: 代码格式修改, 注意不是 css 修改
test: 测试用例修改
chore: 其他修改, 比如构建流程, 依赖管理.
subject: commit 的概述, 建议符合 50/72 formatting
body: commit 具体修改内容, 可以分为多行, 建议符合 50/72 formatting
footer: 一些备注, 通常是 breaking change 或修复的 bug 的链接.
示例:
fix(redis): 修复redis pull异常退出feat(组件):新增redis集群feat(mq): 新增消息队列包
commit message 模板设置
每次commit都要设置格式十分不方便,git提供了一个自定义commit模板的方法,这样在commit的时候,会自动打开模板,我们只需要修改模板中的内容就好。模板设置方法如下:
在根目录建立模板文件
如 xxx_template文件,其内容如下:
(): # - type: feat(新特性), fix(修改问题), docs(文档修改), style(代码格式修改, 注意不是 css 修改), refactor(代码重构), test(测试), chore(其他修改, 比如构建流程, 依赖管理)# - scope: (可以为空) 影响的的范围# - subject 提交描述
设置模板,命令如下
git config commit.template [模板文件名] //这个命令只能设置当前分支的提交模板
git config — —global commit.template [模板文件名] //这个命令能设置全局的提交模板,注意global前面是两杠
例如:
git config --global commit.template xxx_template
设置好以后,以后每次提交代码到git仓库的时候,就会自动打开该模板
浅谈三相交流电源系统和直流电源系统
Aptina公司开发出同类首款安全监控影像传感器-MT9M0
华为的芯片储备能够用多久?
vivo Z1与vivo Z1i对比分析,这个300到底贵在哪里?
OmniVision高性价比OV16A图像传感器提供1600万像素升级解决方案
git中非常好用但又容被忽视的小功能
飞利浦新一代高效太阳能LED灯照亮荷兰足协
TrittonKunaiPro7.1声道游戏耳机评测 可以称得上是中上级别的耳机
PCB为什么要运用含磷的铜球_磷铜球在PCB中的应用概况
表面工程助力实现超快的锂/钠/钾原电池
装配工作的基本要求是什么 产品装配的工艺过程简述
2019年百度AI年度总结 AI技术收获不小
电力监控系统在智能建筑电气节能中的应用
单独给手机锂电池充电需不需要加一个保护板
【IoT智能】一款基于涂鸦智能IoT云平台的新型智能蓝牙水杯
华为首款鸿蒙汽车—AITO 问界 M5正式发布
三段式充电器的主要参数有哪些
直流电谁发明的_交流电怎么变直流电
REP006:线性射频功率放大器匹配,在低功耗下实现高效率
要想电流测得准,一定不能忽视的技术细节(第二讲)