git对分支的运用

什么是分支

分支就是将你的一个文件复制成一个或多个文件,在不修改原文件的基础上对复制的文件进行修改,根据下图来讲解,假如你创建了文件A,这个时候我们复制出来文件B和C,这个时候我们对文件B进行修改的时候我们我们仅仅只是修改文件B的文件并不对C和A的文件进行修改。

这里写图片描述

分支的作用

分支的作用就是假如你们公司做一个项目,你们首先做出了这个项目的基本功能,你们觉得可以发布到网上了,这个时候就有中情况,你们这个项目已经发布到网上了,但是这个项目需要更新,而且假如发布到网上的项目出现了BUG这些都是种种问题,所以这个时候就需要分支了?

创建分支

$git branch 【分支名】    创建分支

$git branch      查看分支

$git checkout     跳转分支

$git checkout -b 【分支名】    创建分支并且跳转到创建的分支

删除分支

$git branch -d 【分支名】     删除空分支

$git branch -D 【分支名】     删除分支

注意:这里删除分支的时候需要离开当前分支,并且这里的D是分大小写的,如果该分支为空没有一次提交,就可以用-d删除,如果该项目已经有过一次及多次提交就需要用-D删除

恢复删除的分支

首先恢复删除分支的前提是你的该分支必须有一次的提交。
第一步
$git reflog     查看所有的提交的记录,不管该分支是否已经删除都可以查到
这里写图片描述
第二步
$ git branch ? ?    恢复当前分支
这里的第一个问号打的是分支的名第二个问号打的是你的版本ID

这个时候你就可以用git branch 查看是否恢复分支了

合并分支

合并分支分为两种一种是快进的,一种是非快进的
1.合并分支———-快进
这里写图片描述
我们来看上面的这张图,一个默认分支master,然后根据默认分支master创建出来了dev分支,dev分支提交了三次,注意这个时候我们的头部(就是最新的版本)是指向dev的第三次提交的,这个时候我们跳转回master分支合并的时候就会产生一种幻觉,就是你会感觉合并的分支就像是dev直接覆盖掉master分支但是不是这种情况的。

案例:
这里写图片描述
首先我们先进到我们的文件中并且添加.git文件夹

这里写图片描述

这个时候我们跑到该项目的文件夹中去创建一个test.txt文件在该文件中添加aaa的内容

这里写图片描述

然后我们添加文件到暂存区并且提交它

这里写图片描述
接着创建分支并且跳转到创建的分支

这里写图片描述
这个时候我们在跑来项目的文件夹中修改当前的txt文件给文件加多行bbb

这里写图片描述
在添加到暂存区并且提交,这个时候我们在dev分支的文件是有bbb的,接着我们在跳转到master分支去

这里写图片描述
我们回发现master分支中的文件还是aaa

这里写图片描述
我们来合并分支

这里写图片描述
这个时候我们发现master中的分支是和dev中的分支是一样的但是dev分支并没有覆盖掉master分支

2.合并分支———-非快进
这里写图片描述
非快进的区别是我们dev文件是有提交的,master文件这个时候也有提交,所以这个时候用master合并dev的时候就会产生冲突,产生冲突怎么解决呢?就是重新创建一个提交对象需要人为的去解决冲突。git不会帮你解决,因为git不知道你什么东西需要

案例:
这里写图片描述
我们合并的时候回报错,他说不能自动合并,所以错了,这个时候我们打开文件修改内容
这里写图片描述
我们刚打开文件的时候是这样的,也可以直接打开文件修改
这里写图片描述
我们修改成这个样子就可以了
在去add和commit就可以了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值