集团官网
  • 国家级全民数字素养与技能培训基地
  • 河南省第一批产教融合型企业建设培育单位
  • 郑州市数字技能人才(码农)培养评价联盟

什么是分支?Git本地分支的十大常见操作

编辑:云和数据 日期:2023-02-14 20:19

分支是什么?

分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN。如果两个平行宇宙互不干扰,那对现在的你也没啥影响。

不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN!

git分支

分支在实际开发中的作用

在进行多人协作开发的时候,为了防止互相干扰,提高协同开发的体验,建议每个开发者都基于分支进行项目功能的开发,例如:

分支在实际开发中的应用

master 主分支

在初始化本地Git 仓库的时候,Git 默认已经帮我们创建了一个名字叫做master的分支。通常我们把这个master 分支叫做主分支。

master主分支

在实际工作中,master 主分支的作用是:用来保存和记录整个项目已完成的功能代码。因此,不允许程序员直接在master 分支上修改代码,因为这样做的风险太高,容易导致整个项目崩溃。

功能分支

由于程序员不能直接在master 分支上进行功能的开发,所以就有了功能分支的概念。

功能分支指的是专门用来开发新功能的分支,它是临时从master 主分支上分叉出来的,当新功能开发且测试完毕后,最终需要合并到master 主分支上,如图所示:

功能分支

查看分支列表

使用如下的命令,可以查看当前Git 仓库中所有的分支列表:

查看分支

运行的结果如下所示:

运行结果

注意:分支名字前面的*号表示当前所处的分支。

创建新分支

使用如下的命令,可以基于当前分支,创建一个新的分支,此时,新分支中的代码和当前分支完全一样:

创建新分支

图示如下:

切换分支

使用如下的命令,可以切换到指定的分支上进行开发:

切换分支

图示如下:

分支的快速创建和切换

使用如下的命令,可以创建指定名称的新分支,并立即切换到新分支上:

图示如下:

图示如下:

注意:

“git checkout -b 分支名称” 是下面两条命令的简写形式:

①git branch 分支名称

②git checkout 分支名称

合并分支

功能分支的代码开发测试完毕之后,可以使用如下的命令,将完成后的代码合并到master 主分支上:

图示如下:

合并分支时的注意点:

假设要把C 分支的代码合并到A 分支,则必须先切换到A 分支上,再运行git merge 命令,来合并C 分支!

删除分支

当把功能分支的代码合并到master 主分支上以后,就可以使用如下的命令,删除对应的功能分支:

删除分支

图示如下:

遇到冲突时的分支合并

如果在两个不同的分支中,对同一个文件进行了不同的修改,Git 就没法干净的合并它们。此时,我们需要打开这些包含冲突的文件然后手动解决冲突。

遇到冲突时的分支合并

相关内容

抢先一步 鸿蒙(HarmonyOS)应用开发者高级认证 免费考! 适合人群计算机相关专业在校生(技师、中职、高职、本科、研究生)对鸿蒙(HarmonyOS)有兴趣的非计算机相关专业在校生目前正在从事移动应用的开发者目前正在从事计算机行业相关的人计算机专业高校老师所有对鸿蒙(HarmonyOS)有兴趣的人 培训方案掌握鸿蒙的核心概念和端云一体化开发、... 什么是Java的多态性(polymorphism)?它有哪些不同的形式? 多态性是Java面向对象编程的一个重要概念,它允许不同的对象以一致的方式响应同一个方法调用,具体表现为对象在运行时可以表现出多个不同的形态。多态性主要有两种不同的形式:编译时多态性(静态多态性)和运行时多态性(动态多态性)。1. 编译时多态性(静态多态性):   ... 如何学习和搭建Hadoop开发环境? Hadoop是大数据处理领域的重要平台,能够处理和分析大量数据。为了有效地利用Hadoop,我们需要学习其基础知识,并正确搭建开发环境。下面是详细的学习和搭建指南。一、学习Hadoop基础掌握基础概念和原理Hadoop主要由HDFS和MapReduce两部分组成。HDFS是分布式文件系统,Ma... UI 设计学习如何进阶成为高手 我总结了六种方法,帮助你走出舒适区,提高技能,成长为自信且经验丰富的UI设计高手一位经验丰富的 UI 设计师,往往十分看中应用程序界面的吸引力和视觉刺激,确保满足用户期望和需求。但是,如果你已经在 UI 设计圈摸爬滚打多年,仍然没有出色的作品,那你极有可能是因为陷入了一个舒适圈,UI技能一直原... 在Java中Executor和Executors的区别? 在Java中,Executor和Executors都与线程池和并发执行有关,但它们是不同的概念和类。1.ExecutorExecutor是一个接口,位于java.util.concurrent包中,用于表示一个执行任务的执行器。它只定义了一个方法:void execute(Runnable c... String类型的常见命令有哪些? String类型,也就是字符串类型,是Redis中最简单的存储类型。其value是字符串,不过根据字符串的格式不同,又可以分为3类:string是普通字符串,int整数类型,可以做自增、自减操作,float浮点类型,可以做自增、自减操作。String的常见命令有:SET:添加或者修改已经存在的...