首页 >

用git时,一直使用自己新建的git分支,不删除,然后提交merge之后又重复使用,会出现什么问题嘛? – 网络|

苹果手机取消微信支付密码怎么设置密码,输入字符串的格式不正确怎么解决,sns运营是什么用git时,一直使用自己新建的git分支,不删除,然后提交merge之后又重复使用,会出现什么问题嘛? - 网络|用git时,一直使用自己新建的git分支,不删除,然后提交merge之后又重复使用,会出现什么问题嘛

前言

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:-)

【本文由@程序员小助手发布,持续分享编程故事,】

用git时,一直使用自己新建的git分支,不删除,然后提交merge之后又重复使用,会出现什么问题嘛? - 网络|
  • 如何权衡好大学课程学习(非计算机类课程)与前端学习关系? - 网络|
  • 如何权衡好大学课程学习(非计算机类课程)与前端学习关系? - 网络| | 如何权衡好大学课程学习(非计算机类课程)与前端学习关系? - 网络| ...

    用git时,一直使用自己新建的git分支,不删除,然后提交merge之后又重复使用,会出现什么问题嘛? - 网络|
  • 高级编程语言真的很“高级”吗? - 网络|
  • 高级编程语言真的很“高级”吗? - 网络| | 高级编程语言真的很“高级”吗? - 网络| ...

    用git时,一直使用自己新建的git分支,不删除,然后提交merge之后又重复使用,会出现什么问题嘛? - 网络|
  • 网站前端开发素材,web前端三大基础的三大基石 - 前端技术 - 前端|
  • 网站前端开发素材,web前端三大基础的三大基石 - 前端技术 - 前端| | 网站前端开发素材,web前端三大基础的三大基石 - 前端技术 - 前端| ...