Git 第四章 -- Git分支操作

Posted Z && Y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git 第四章 -- Git分支操作相关的知识,希望对你有一定的参考价值。

1. Git分支操作


1.1 什么是分支

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


1.2 分支的好处

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

1.3 分支的操作


1.3.1 查看分支

1)基本语法:

git branch -v

2 ) 案例实操:

在项目目录打开git命令行,执行:git branch -v

发现当前只有一个主分支


1.3.2 创建一个hot-fix(热修分支)

1)基本语法:

git branch 分支名

2)案例实操:

在项目目录打开git命令行,执行:git branch hot-fix

3)再次查看分支:


1.3.3 切换分支

1)基本语法:

git checkout 分支名

2)案例实操:


1.3.4 在分支上面修改文件并提交到本地仓库

刚刚已经切换到了hot-fix分支,现在我们在hot-fix分支上面修改文件并且推送到本地仓库

  1. 编辑文件

  2. 查看本地仓库状态

  3. 推送到暂存区

  4. 推送到本地仓库

  5. 查看历史版本


1.3.5 合并分支(没有冲突)

1)基本语法:

git merge 分支名

2)案例实操 在 master 分支上合并 hot-fix 分支:

  1. 我们切换到主分支
  2. 查看hello.txt文件
  3. 在 master 分支上合并 hot-fix 分支
  4. 再次查看hello.txt文件

1.3.6 合并分支(有冲突)

冲突产生的表现:后面状态为 MERGING

冲突产生的原因:

案例演示:

  1. 修改master分支的hello.txt

  2. 把hello.txt推送到暂存区

  3. 把hello.txt推送到本地仓库

  4. 切换到hot-fix分支

  5. 修改hot-fix分支的hello.txt

  6. 把hello.txt推送到暂存区

  7. 把hello.txt推送到本地仓库

  8. 切换到主分支

  9. 主分支合并hot-fix分支

  10. 手动打开hello.txt文件
    下面圈起来的地方就是有合并冲突的地方

  11. 手动解决合并冲突

需要删去这些特殊符号

  1. 把修改好合并冲突的文件添加到暂存区
  2. 提交到本地仓库(注意:此时使用 git commit 命令时不能带文件名)
  3. 查看

合并完成


1.4 创建分支和切换分支图解

Git 切换版本,底层其实是移动的 HEAD 指针,具体原理如下图所示。

  • master、hot-fix 其实都是指向具体版本记录的指针。当前所在的分支,其实是由 HEAD决定的。所以创建分支的本质就是多创建一个指针。
  • HEAD 如果指向 master,那么我们现在就在 master 分支上。
  • HEAD 如果执行 hotfix,那么我们现在就在 hotfix 分支上。
  • 所以切换分支的本质就是移动 HEAD 指针。


以上是关于Git 第四章 -- Git分支操作的主要内容,如果未能解决你的问题,请参考以下文章

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段

Git从青铜到王者第四篇:Git的分支与合并

Git教程学习 --第四篇 分支管理

VSCode自定义代码片段——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程