前言
git的分支,用来存储不同的开发进度,比如
master分支,用于线上正式使用;
dev分支用于开发新功能使用;
bug分支用于热修。
合理地分配分支职能,会给仓库维护带来方便。
举个栗子
说空洞的名词,难以下咽,不如给个例子,说明起来方便。借用星云法师一个故事。
东寺僧人和西寺僧人出门,碰见了。
东寺僧人问:你要去哪里呀?
西寺僧人说:风吹到哪里,偶就去哪里。
东寺僧人不知道该怎么接了。
晚上回去,问住持,住持说,你怎么不说:要是没有风,你到哪里呀?
第二天,又遇见。
东寺僧人问:你要去哪里呀?
西寺僧人说:脚走到哪里,偶就去哪里。
东寺僧人一愣,又不会接了。
晚上回去,问住持。住持说,你怎么这么笨哟,为什么不问:脚要是不走,你去哪里呢?
第三天,又遇见。
东寺僧人问:师兄,要去哪里呀?
西寺僧人说:去买菜。
实际测试
上一节扯远了,并非要说明高深的道理。星云大师教人开悟。
1-创建一个空仓库
gitinit
仓库与目录同在。不做裸仓库。
2-新建文本文件poem
$cat>poem<<eof
>Somedayyouwillcryforme
>LikeIcriedforyou.
>Somedayyou’llmissme
>LikeImissedyou.
>eof
在命令行内输入一些文本,使用eof作为开始和结束符。
3-查看状态
gitstatus
4-提交这个修改
gitaddpoem
gitcommit-m”[add]:添加一首小诗”
5-创建新分支
gitcheckout-bdev
6-dev做一些修改
echo”addbydevbranch”>>poem
7-提交修改
gitaddpoem
gitcommit-m”[feat]:添加dev特性”
8-合并到master
合并之前,切换到主分支;比较两个分支差异;执行合并。
gitckeckoutmaster
gitdiff–statdev
gitmergedev
9-接下来怎么办
dev用完了,还要接着用吗?当然可以,不过,线上master代码运行过程中,发现了一个bug,要热修,还拉到dev分支上处理吗?
其实,像这种临时的任务,拉一个临时分支,用完删掉,更为整洁。强迫症必备。
10-新建bug-fix分支
首先拉取线上分支到本地新分支。
gitfetchoriginmaster:bug-fix
gitcheckoutbug-fix
11-做一些修改然后提交
在bug-fix分支上修改完毕,提交修改;切换到master分支,合并bug-fix的修改,然后提交到线上。
echo”Domore”>>poem
gitaddpoem
gitcommit-m”[fix-bug]:更多”
gitcheckoutmaster
gitdiff–statbug-fix
gitmergebug-fix
gitpushoriginmaster
12-删除分支
充分合并的分支,bug-fix分支完成了使命,大家转到dev上开发新功能。
合并这个最新修改的分支,然后删除bug-fix分支就好了。
gitcheckoutdev
gitdiff–statbug-fix
gitmergebug-fix
gitbranch–deletebug-fix
结语
为了让题主对分支有更为立体的感觉,小助手用了12步,初步解释了分支的用法。希望可以帮助题主养成分支处理的好习惯,让代码仓库更为整洁优秀。
Happycoding:-)
【本文由@程序员小助手发布,持续分享编程故事,】