Git的日常使用和提交模板

伪造目录(PS:简书有目录功能吗?会的教教我🤓):

  • Git的简单实用
  • Git的提交模板
  • Git的简单回滚操作
  • Git 关联对应的 JIRA 任务

Git的简单使用

前提需要有个工程文件夹,我们就叫 gitUse 吧。

# 进入要使用Git的目录
cd gitUse
# 初始化一个git仓库
git init
# 项目中应该有你编辑的文件等等,将他们从工作区放到缓存区,也就是SourceTree中的 “暂存”
git add .
# 提交到本地仓库,并填写本次提交的描述信息
git commit -m "这里是本次提交的描述信息"
# 新建远端的仓库,去对应的git网站新建就好了
https://github.com/yylittlecat/gitUse.git
# 关联本地与远程的仓库
git remote add origin https://github.com/yylittlecat/gitUse.git
# 将本地仓库的代码推送到远程仓库对应的分支
git push -u origin master

这样一个简单的初始化~提交过程就完成了。


Git的提交模板

不论 SVN 还是 Git 来进行代码管理,糟糕的提交信息,一定是被深恶痛绝的,可能自己过段时间看了都会不忍直视。上面提到 commit 时的描述信息,如果提交的时候能有填写规范或者有交互式的约束就好了。这就要用到 git commit template 了。

我电脑是Mac ,目前用的是 commitizen 这个小工具。

参考文章:老鸟都应该注意的git 提交规范

commitizen 是基于 Node,所以先在你的 Mac 上安装 node 环境,之后就可以开始我们下面的步骤了:

  • npm 全局安装利器 commitizen
    npm install -g commitizen

  • 全局安装规范模板,好东西大家享 😇
# 全局下载模板,cz-conventional-changelog 是被业界广泛赞许的AngularJS的规范 
npm install -g cz-conventional-changelog 
# 路径
echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc

  • 局部安装规范模板,小试牛刀 🤓
# 进入 Git 工程目录
cd gitUse
# 如果项目本身就是 node 系列的,例如 web 前端项目,
# 你的项目下应该是有个 package.json 文件的,直接运行下面的命令 安装规范模板 应该不会报错。
commitizen init cz-conventional-changelog  --save --save-exact
# 如果 是iOS 或者 Android 项目,需要先生成对应的 package.json 文件
npm init
# 然后再执行上面那条命令
commitizen init cz-conventional-changelog  --save --save-exact

如果是原生项目,执行完上面的命令,你会发现,又多了几个文件 😂,就像这个鬼样子

node文件

这些文件不需要做代码管理,那我们就加到 忽略文件中好了,眼不见为净,当然他还是赫赫地立在那里🤓,手动忽略文件可以参考这里 SourceTree 全局忽略XC编译文件无效


接下来我们使用 git cz 命令来提交一下试试

git cz

会出现上面这个简洁的交互,通过上下键来选择 本次修改的类型 ,每个提交类型后面都有说明,看看选择哪个合适,然后一步一步 跟着说明 enter 下去就 👌 了。


Type:

feat :新功能 
fix :修复bug  
doc : 文档改变
style : 代码格式改变
refactor :某个已有功能重构
perf :性能优化
test :增加测试
build :改变了build工具 如 grunt换成了 npm
revert: 撤销上一次的 commit 

Scope:

scope :用来说明此次修改的影响范围 可以随便填写任何东西,commitizen也给出了几个 如:location 、browser、compile。
不过我推荐使用:
all :表示影响面大 ,如修改了网络框架  会对真个程序产生影响
loation: 表示影响小,某个小小的功能
module:表示会影响某个模块 如登录模块、首页模块 、用户管理模块等等

Others:

subject: 用来简要描述本次改动,概述就好了
body:具体的修改信息 应该尽量详细
footer:放置写备注啥的,如果是 bug ,可以把bug id放入

最后会看到这样的结果:


git cz result

从SourceTree 和 远程仓库 看一下提交记录,可以直观看到该次提交修改的描述:


SourceTree

Git的简单回滚操作

就算Git中分支、提交、gitflow 分的都很清楚,也难免会遇到需要回退到前几个版本的尴尬境地,你都是怎么做的呢?施展CV大法吗?😂
两个简单的命令就可以让他滚回去:

git log -(需要查看的版本条数)
git reset --hard [提交对应的编号]

我们来试试查看最近的三个提交是怎么样的 git log -3

git log -3

我们可以看到每一个提交从上到下都有,对应的哈希值、作者、邮箱、日期,以及我上面提到的提交信息,非常重要,不然你都不知道这次提交是为了什么,甚至找不到滚回去的位置。

假设我们要回滚到第三条,也就是5d9c3b1dab8de8932ebf8deffef821cf2052fd65 这一条,执行命令git reset --hard 5d9c3b1dab8de8932ebf8deffef821cf2052fd65 即可,当前分支就回退到这个版本了。

回退后,我们可能会修改代码,这个时候又有新的问题了,以前的提交已经push到远程仓库,也就是我们目前的代码落后两个版本,同时有一个新的commit待提交。
两个方式:
1、强势一点:硬提
git push -f origin [分支名称]
2、委婉的:先拉去->解决冲突->重新提交整合后的代码
git pull origin develop -> solve conflct -> git push -u origin develop
记得写清楚提交信息鸭!!!!!

这样一个简单的回滚就完成了。
不要告诉我你不会解决冲突。🤓🤓🤓🤓🤓


Git 关联对应的 JIRA 任务

Git关联JIRA的issue

在提交修改的时候,描述信息加上在 JIRA 的任务/问题 编号,就可以关联到一起了。

添加JIRA 任务编号
JIRA 评论结果
“就是这么不要脸”专用图
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345

推荐阅读更多精彩内容

  • 一、Git是什么? 是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常 大的项目版本管理。 Git ...
    名字谁不会取阅读 1,031评论 0 0
  • 原文链接 前言 在git的使用中,一种最佳实践是使用格式化的commit信息,这样方便自动化工具进行处理,可以快速...
    冯宇Ops阅读 8,560评论 2 34
  • 声明:这篇文章来源于廖雪峰老师的官方网站,我仅仅是作为学习之用 Git简介 Git是什么? Git是目前世界上最先...
    横渡阅读 3,943评论 3 27
  • (预警:因为详细,所以行文有些长,新手边看边操作效果出乎你的预料) 一:Git是什么? Git是目前世界上最先进的...
    axiaochao阅读 1,923评论 1 8
  • [TOC] 前言 刚刚开始使用Git的版本控制时,我根本不确定我付出那么多时间是不是会得到回报,Branch、St...
    木猫尾巴阅读 7,460评论 6 36