【Git 从入门到精通】一文摸透Git中的分支操作

一、什么是分支?

在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用)

正如下图所示,一个项目在部署上线之后,开发者还会源源不断的为其增添功能,而增添的每一个功能就可以认为是开启了一个分支,当这一分支功能完善后会将其提交合并到主分支,上线部署。
在这里插入图片描述
使用分支有以下好处:

  • 同时并行推进多个功能开发,提高开发效率。
  • 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败
    的分支删除重新开始即可。

二、分支中的常用命令

命令名称 作用
git branch 分支名 创建分支
git branch -v 查看分支
git checkout 分支名 切换分支
git merge 分支名 把指定的分支合并到当前分支上

三、上手分支

1.查看分支

git branch -v

查看当前项目一共有多少个分支,当前处在哪个分支,其中前面标有*的绿色名字为当前所处。
在这里插入图片描述

2.创建分支

hot-fix代表热修复版本,也就是当前版本有严重问题需要紧急修复。

git branch +分支名(例:hot-fix)

创建完毕后如下图所示
在这里插入图片描述

3.修改分支

将master分支的hello.py进行修改,修改效果入下图,可以发现当分支修改并重新提交本地库后两个分支对应的序号将会有所改变。
在这里插入图片描述
在这里插入图片描述

4.切换分支

git checkout + 分支名(例:hot-fix)

5.合并分支

合并分支时首先需要注意的是当前在什么分支就将另外一个分支合并到当前分支。在合并前我们要搞清楚两者关系。
合并分支后当前所处的分支代码会是最终合并后的代码,原来分支的代码不会改变。

git merge +分支名(例:hot-fix)

正常合并:
在这里插入图片描述
合并时有冲突:
这种冲突是因为master分支与hot-fix分支中同时修改了同一部分代码导致。需要主动地去解决冲突
在这里插入图片描述

6.解决冲突

产生冲突后直接编辑主分支中相应的文件,会发现出现以下结构段落。
特殊符号:<<<<<<< HEAD 当前分支的代码 ======= 合并过来的代码 >>>>>>> hot-fix
第一步修改冲突代码:
在这里插入图片描述
修改后的结果:
在这里插入图片描述
第二步将代码添加到暂存区:

 git add hello.py

第三步提交冲突代码(不可带文件名

git commit -m "xxxx"

第四步合并代码:

git merge 分支名

在这里插入图片描述

四、分支操作原理分析

在这里插入图片描述
可以看出,在进行分支切换时,还是利用的改变指针的指向,master、hot-fix 其实都是指向具体版本记录的指针。当前所在的分支,其实是由 HEAD决定的。所以创建分支的本质就是多创建一个指针。

  • HEAD 如果指向 master,那么我们现在就在 master 分支上。
  • HEAD 如果执行 hotfix,那么我们现在就在 hotfix 分支上。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/apple_51931783/article/details/128386327
Git