• Git的使用之分支操作


     一、什么是分支

    顾名思义,分支就是从主线上分离出来进行另外的操作,而又不影响主线,主线又可以继续干它的事,是不是有点像线程,最后分支做完事后合并到主线上而分支的任务完成可以删掉了。这样是不是很方便,主线继续做它的事,分支用来解决临时需求,二者互不相干。

    git的分支功能特别的强大,它不需要将所有数据进行复制,只要重新创建一个分支的指针指向你需要从哪里开始创建分支的提交对象(commit),然后进行修改再提交,那么新分支的指针就会指向你最新提交的这个commit对象,而原来分支的指针则指向你原来开发的位置,当你在哪个分支开发,HEAD就指向那个分支的最新提交对象commt。没弄清楚没关系,先有这么一个概念,后面慢慢就会弄清的。

    分支的底层也是指针的引用

    分支的好处

    • 版本迭代更加清晰
    • 开发效率提升
    • 利于代码review的实现,从而使整个团队开发更加规范,减少bug率

    分支的操作

    二、查看分支

     查看分支


     创建分支 

    这里创建了一个热修分支

    切换分支 

     

     

     

     这里分支就指向了hot-fix分支

    同时路径下也出现了hot-fix版本

     然后回到master分支

     合并分支(正常合并)

    这里需要在master分支下进行操作

     master是目标分支,hot-fix是要被合并的分支

     合并成功

     冲突合并

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

     接下来切换到hot-fix分支下进行修改

     然后切换回master分支,合并

     这里说自动合并failed,因为这里出现了合并代码冲突

     正在合并中

     然后我们打开hello.txt文件

     HEAD指当前分支,HEAD和等号之间的代码是当前分支的代码,等号和>>>>>>号之间是hot-fix的代码,这里就不知道要合并那一部分的代码,这里就需要我们手动合并代码

    这几行全部删掉,保证代码还是原来的行数,然后保存

     

    然后

    添加到暂存区和提交到本地库

     

     这里一定不能加文件名了

    同时也成功提交,两个版本的都有

     这里只会修改master分支下的,而不会修改hot-fix分支下的代码

  • 相关阅读:
    黑马JVM总结(三十七)
    WHAT - package.json 解释
    阿里P8熬了一个月肝出这份32W字Java面试手册,在Github标星31K+
    如何确保亚马逊、速卖通等平台测评补单的环境稳定性和安全性?
    中国这么多 Java 开发者,应该诞生出生态级应用开发框架
    C++之构造函数、缺省构造函数
    Hadoop生态系统(HDFS、ZooKeeper、MapRuduce、Pig....)
    java毕业设计成都某4S店销售管理系统Mybatis+系统+数据库+调试部署
    unity快速入门代码上手笔记
    c++ debug目录获取文件名及文件夹
  • 原文地址:https://blog.csdn.net/m0_72647108/article/details/126819075