码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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指针。

  • 相关阅读:
    c 摄像头生成yuv未压缩图片
    Java:2022年全球使用的15种最流行的Java应用
    第五章:Spring细分一如何让mapper文件夹下的SQL语句对数据库生效,jdbc和mybatis-config.xml
    ps2021版神经滤镜能用吗,ps2021没法用神经元滤镜
    云尘靶场 Medium_Socnet 内网为docker 无站代理 不存在gcc的提权方式 解决ldd过高无法执行exp 指定so文件
    对笔记本电池的研究
    rpmbuild时为什么会出现空的debugsourcefiles.list?
    【C语言】详解计算机二级c语言程序题
    功能出新|酷雷曼3D漫游,更沉浸的三维空间体验
    二进制中 1 的个数+确定一个数字是否为 2 的幂+最大化交易利润
  • 原文地址:https://blog.csdn.net/qq_41242680/article/details/126574977
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号