• Git分支操作


    在这里插入图片描述

    什么是分支

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

    分支的好处

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

    分支的操作

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

    查看、创建、切换分支

    基本语法

    git branch -v
    
    • 1

    在这里插入图片描述

    git branch hot-fix
    
    • 1

    在这里插入图片描述

    git checkout hot-fix
    
    • 1

    在这里插入图片描述
    修改hello.txt文件,并提交到本地库中:

    vim hello.txt
    git status
    git add hello.txt 
    git status
    git commit -m "hot-fix first commit" hello.txt
    
    • 1
    • 2
    • 3
    • 4
    • 5
    git reflog
    
    • 1

    在这里插入图片描述

    合并分支

    基本语法:
    将目标分支合并到当前所在分支中:

    git merge hot-fix 
    
    • 1

    在这里插入图片描述

    产生冲突

    产生冲突的原因:合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git无法替我们决定使用哪一个。必须人为决定新代码内容。

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

    我们可以在master分支和hot-fix分支同一文件修改为不同的内容。

    vim hello.txt
    git add hello.txt
    git commit -m "master test" hello.txt
    git checkout hot-fix
    vim hello.txt
    git add hello.txt
    git commit -m "hot-fix test" hello.txt
    git checkout master
    git merge hot-fix
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    git status
    
    • 1

    在这里插入图片描述

    cat hello.txt
    
    • 1

    查看文件内容,会出现冲突部分的内容对比:

    <<<<<<< HEAD
    当前分支的内容
    =======
    合并分支的内容
    >>>>>>> hot-fix
    
    • 1
    • 2
    • 3
    • 4
    • 5

    手动解决冲突:
    修改master分支文件的内容。
    将文件添加到暂存区:

    git add hello.txt
    
    • 1

    执行提交(注意:此时使用git commit命令时不能带文件名)

    git commit -m "merge test"
    
    • 1

    在这里插入图片描述
    将分支切换为hot-fix,可以看到该分支内容并没有被改变:

    git checkout hot-fix
    
    • 1

    master、hot-fix其实都是指向具体版本记录的指针。当前所在的分支,其实是由HEAD决定的。所以创建分支的本质就是多创建一个指针。

    切换分支本质上就是移动HEAD指针。

  • 相关阅读:
    Java二十三种设计模式-享元模式(12/23)
    为什么要有override
    常见的4种Bug 出现原因和解决方案
    力扣经典题目解析--旋转图像(字节二面)
    《深度学习工业缺陷检测》专栏介绍 & CSDN独家改进实战
    前后端分离(前端)
    Kafka重平衡导致无限循环消费问题
    【JavaScript】cookie
    企业该如何选择合适的ERP系统?谈谈国内外ERP软件的优缺点
    39、Spring AMQP
  • 原文地址:https://blog.csdn.net/qq_41242680/article/details/126574977