首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >极速入门Git分支,一个例子12步:分支就该这么玩!

极速入门Git分支,一个例子12步:分支就该这么玩!

作者头像
程序员小助手
发布于 2020-04-08 14:53:14
发布于 2020-04-08 14:53:14
4690
举报
文章被收录于专栏:程序员小助手程序员小助手

前言

git的分支,用来存储不同的开发进度,比如

  • master分支,用于线上正式使用;
  • dev分支用于开发新功能使用;
  • bug分支用于热修。

合理地分配分支职能,会给仓库维护带来方便。

举个栗子

说空洞的名词,难以下咽,不如给个例子,说明起来方便。借用星云法师一个故事。

东寺僧人和西寺僧人出门,碰见了。

东寺僧人问:你要去哪里呀?

西寺僧人说:风吹到哪里,我就去哪里。

东寺僧人不知道该怎么接了。

晚上回去,问住持,住持说,你怎么不说:要是没有风,你到哪里呀?

第二天,又遇见。

东寺僧人问:你要去哪里呀?

西寺僧人说:脚走到哪里,我就去哪里。

东寺僧人一愣,又不会接了。

晚上回去,问住持。住持说,你怎么这么笨哟,为什么不问:脚要是不走,你去哪里呢?

第三天,又遇见。

东寺僧人问:师兄,要去哪里呀?

西寺僧人说:去买菜。

实际测试

上一节扯远了,并非要说明高深的道理。星云大师教人开悟。

1 - 创建一个空仓库

git init

仓库与目录同在。不做裸仓库。

2 - 新建文本文件 poem

$ cat > poem <<eof > Someday you will cry for me > Like I cried for you. > Someday you'll miss me > Like I missed you. > eof

在命令行内输入一些文本,使用eof作为开始和结束符。

3 - 查看状态

git status

4 - 提交这个修改

git add poem

git commit -m "[add]:添加一首小诗"

5 - 创建新分支

git checkout -b dev

6 - dev 做一些修改

echo "add by dev branch" >> poem

7 - 提交修改

git add poem

git commit -m "[feat]:添加dev特性"

8 - 合并到master

合并之前,切换到主分支;比较两个分支差异;执行合并。

git ckeckout master

git diff --stat dev

git merge dev

9 - 接下来怎么办

dev用完了,还要接着用吗?当然可以,不过,线上master代码运行过程中,发现了一个bug,要热修,还拉到dev分支上处理吗?

其实,像这种临时的任务,拉一个临时分支,用完删掉,更为整洁。强迫症必备。

10 - 新建 bug-fix 分支

首先拉取线上分支到本地新分支。

git fetch origin master:bug-fix

git checkout bug-fix

11 - 做一些修改然后提交

在bug-fix分支上修改完毕,提交修改;切换到master分支,合并bug-fix的修改,然后提交到线上。

echo "Do more" >> poem

git add poem

git commit -m "[fix-bug]: 更多"

git checkout master

git diff --stat bug-fix

git merge bug-fix

git push origin master

12 - 删除分支

充分合并的分支,bug-fix分支完成了使命,我们转到dev上开发新功能。

合并这个最新修改的分支,然后删除bug-fix分支就好了。

git checkout dev

git diff --stat bug-fix

git merge bug-fix

git branch --delete bug-fix

结语

为了让题主对分支有更为立体的感觉,小助手用了12步,初步解释了分支的用法。希望可以帮助题主养成分支处理的好习惯,让代码仓库更为整洁优秀。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-24,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 举个栗子
  • 实际测试
  • 结语
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档