Git的分支

01 | 什么是分支呢?

可以理解为程序员可以把自己的工作从主线分支分离出来,单独开发自己的分支的时候,不会影响主线分支的运行,可以理解为一个分支就是一个单独的副本。

在这里插入图片描述
这个就是一个分支的示例图,主线分支为master。

02 | 分支的好处

可以同时进行多个功能的开发,提交开发效率。如果一个分支的失败,它不影响其他分支。

03 | 分支操作

也就那么几个命令,敲几下就熟悉了。
在这里插入图片描述
git branch -v
git branch <分支名>
git checkout <分支名>
git merge <分支名>

3.1 | 查看分支

可以使用命令git branch -v查看目前在什么分支

在这里插入图片描述

可以看到,我们目前在master分支上,提交版本号,提交备注

3.2 | 创建分支

可以使用命令git branch <分支名>,创建分支
再查看一下分支名
其实就是创建了一个新的分支,将主分支的内容复制了一份,也就是创建了一个副本(可以这么理解)

在这里插入图片描述

3.3 | 修改分支和切换分支

现在我们切换到hot-fix分支上
使用命令git checkout <分支名>

在这里插入图片描述

可以看到从master分支切换到了hot-fix分支上

现在在hot-fix分支上,修改hello.txt文件

在这里插入图片描述

既然修改了文件,我们还需要将文件进行提交

在这里插入图片描述

这个时候文件已经提交了,我们看一下提交的记录

在这里插入图片描述

可以看到,这个HEAD指向了hot-fix这个分支

如果这个时候,我们切换回去master分支,再查看一下hello.txt文件

在这里插入图片描述

可以看到,之前在hot-fix分支上修改的内容没有了,这是因为我们现在在master上,而那些内容的修改在hot-fix

3.3 | 合并分支(冲突合并)

使用命令git merge <分支名>,这个命令是吧,把哪个分支合并到我当前的分支上。
例如我在master分支上执行git merge hot-fix,说明把hot-fix分支的内容合并到master分支上

在这里插入图片描述

执行命令可以看到非常的顺利,没有产生冲突,为什么呢?
因为master分支并没有修改,而这个hot-fix分支改了,所以合并的时候,就可以看作master改了。

但是有时候会出现冲突的情况。也就是两个分支在同一个文件同一个位置,有两套不同的修改,Git是无法确定使用哪个的,这需要我们认为去决定这个合并后呈现的内容。

我们试着在master上修改文件内容,然后提交

在这里插入图片描述

现在切换回去hot-fix分支,对文件进行修改,然后提交

在这里插入图片描述

这个时候我们切回master分支,然后合并hot-fix分支

在这里插入图片描述

可以看到这次合并后,提示不一样了
解释一下:

  • 自动合并这个文件
  • 冲突(内容):合并冲突在 <这个文件>
  • 自动合并失败;修复冲突然后提交最后的结果
    在这里插入图片描述
    可以看到分支名发生了变化,后面出现了merging,说明文件正在合并中

查看一下状态git status

在这里插入图片描述

解释:

  • 在master分支上
  • 你有一个没有合并的路径
    (修复冲突然后进行git commint提交)
    (使用git merge --abort去放弃合并)
  • 没有合并的路径
    (使用git add <file>去标记一下)
    两个都修改了这个文件:hello.txt,可以看到这个文件是红色的,说明没有被放到暂存区

这个时候我们可以进行手动的去合并代码,进入文件内部,查看一下内容

在这里插入图片描述
在这里插入图片描述

可以看到他们的倒数第二行和倒数第一行是不一样,所以我们就要修改一下

在这里插入图片描述

保存完以后,添加提交一下

在这里插入图片描述

但是提交的时候发现报错了

  • 致命错误:在合并期间无法执行部分提交。

因为Git不知道你要提交那个hello.txt文件,这个时候不要带文件参数

在这里插入图片描述

当我们提交完成以后,这个合并中的状态已经没有了,变回了master

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值