[Git][分支管理][上]详细讲解

news2024/9/22 19:34:21

目录

  • 1.理解分支
  • 2.创建分支
  • 3.切换分支
  • 4.合并分支
  • 5.删除分支


1.理解分支

  • 感性理解:分支可以理解为平行宇宙,但是在用户需要的时候,可以将两个平行宇宙合并,此时两个平行宇宙的效果将会"叠加"
  • 理性理解:每次提交,Git都会把它们串成⼀条时间线,这条时间线就可以理解为是⼀个分⽀
    • 截⽌到⽬前,只有⼀条时间线,在Git⾥,这个分⽀叫主分⽀,即master分⽀
  • HEAD理解HEAD严格来说不是指向提交,⽽是指向mastermaster才是指向提交的
    • 所以HEAD指向的就是当前分⽀
    • 每次提交,master分⽀都会向前移动⼀步
      • 随着用户不断提交,master分⽀的线也越来越⻓
      • HEAD只要⼀直指向master分⽀即可指向当前分⽀
        请添加图片描述

2.创建分支

  • 查看分支git branch
    • *表示当前HEAD指向的分支
    $ git branch
    * master
    
  • 创建分支git branch branch_name
    • 创建好分支之后,Git将会新创建一个指针
    • 此时新创建的指针和master指向同一个修改,即同一个版本
    $ git branch dev
    $ git branch
      dev
    * master
    
    请添加图片描述

3.切换分支

  • 切换分支git checkout branch_name

  • 将创建分支和切换分支合二为一的命令git checkout -b branch_name

    $ git checkout dev
    Switched to branch 'dev'
    
    $ git branch
    * dev
      master
    

    请添加图片描述

  • 切换到新的分支后,如果进行独立于的master分支的修改,并进行提交

    • 现象:新的分支有的内容,在master分支里并不存在
    • 原因:两分支指向的提交已经不一样了
      $ cat .git/refs/heads/master
      13204498006394d6067fbc8b6046885c6e5e9649
      $ cat .git/refs/heads/dev
      8ef34a28afd16a7c6f3ad43f136212850205bb22
      
      请添加图片描述

4.合并分支

  • 如果要在master分支上能看到最新的提交,就需要将新的分支合并到master分支
  • 合并分支git merge branch_name
    • 此处的Fast-forward表示快进模式
      • :直接将master指向新分支的当前提交,所以该种合并方式下速度非常快
    • 但并不是每次合并都能Fast-forward
    $ git branch
      dev
    * master
    $ git merge dev
    Updating 1320449..8ef34a2
    Fast-forward
     dev.txt | 1 +
     1 file changed, 1 insertion(+)
     create mode 100644 dev.txt
    
    请添加图片描述

5.删除分支

  • 合并完成后,dev分⽀对于用户来说就没⽤了,那么dev分⽀就可以被删除掉

  • 删除分支git branch -d branch_name

    • 注意:如果当前正处于某分⽀下,就不能删除当前分⽀,需要切换到其他分支再删除
      请添加图片描述
  • 因为创建、合并和删除分⽀⾮常快,所以Git⿎励用户使⽤分⽀完成某个任务,合并后再删掉分⽀这和直接在master分⽀上⼯作效果是⼀样的,但过程更安全


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1976899.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

树、二叉树、森林的转换

一、树和二叉树的转换 1、 2、 二、森林二叉树的转换 1、 2、

springboot医嘱管理系统-计算机毕业设计源码16053

摘 要 随着医疗信息化水平的不断提升,医嘱管理作为医院日常运营中不可或缺的一环,其重要性日益凸显。传统的医嘱管理方式往往存在效率低下、易出错等问题,已无法满足现代医疗服务的快速发展需求。因此,基于Spring Boot框架开发的…

MySQL-InnoDB引擎

目录 逻辑存储结构 架构 概述 内存结构 Buffer Pool(缓冲池) Change Buffer(更改缓冲区) Adaptive Hash Index(自适应hash索引) Log Buffer(日志缓冲区) 磁盘结构 System T…

基于CUDA12.1+CUDNN8.9+PYTORCH2.3.1,实现自定义数据集训练

目录 0 结果预览 1 核心点 2 参考链接 0 结果预览 1 核心点 yolo命令行CL需要将虚拟环境的yolo程序加入系统路径。 遇到conda install 失效问题,重建新的虚拟环境,再进行安装。 whl可以下载好后再安装。 pip install F:\tool\ai\torch-2.3.1cu…

使用VM安装K8S

VM 部署K8S 前言 本次使用VM搭建k8s,由于搭建流程复杂,在此记录。 需提前安装好VM(可参考:VM安装),起两台虚拟机(模拟master和worker),且VM里已安装好Docker(可参考:D…

GO语言 4 收集器

劳苦功高的数组 声明数组并访问其元素 以下数组不多不少正好包含 8 个元素 var planets [8]string同一个数组中的每个元素都具有相同的类型,比如以上代码就是由 8 个字符串组成,简称字符串数组。 数组的长度可以通过内置的 len 函数确定。在声明数组…

03。仓颉程序结构

1,什么是 仓颉的“源代码”、“源文件”? ~通常以 “ .cj ” 为后缀的文本文件里面包含的仓颉代码,我们称为仓颉源代码、源文件。 / / test.txt --------------- test.cj 2,什么是 “ 作用域” ?“嵌套作…

C/C++关键字大全

目录 一、const 二、static 三、#define 和 typedef 四、#define 和 inline 五、#define 和 const 六、new 和 malloc 七、const 和 constexpr 八、volatile 九、extern 十、前置 和后置 十一、atomic 十二、struct 和 class 一、const 1、const 关键字可用于定义…

在vscode中远程连接linux进行开发

目录 引言 配置过程 1.本机安装OpenSSH 2.本机生成RSA公钥和私钥 3.将rsa公钥添加到远程linux的authorized_keys文件中 4.vscode安装Remote - SSH插件 5.在vscode中ssh连接服务器 6.在本地vscode操作远程linux文件进行开发 7.在vscode上给远程linux机器需安装插件 常…

路径规划——贪婪最佳优先搜索

路径规划——贪婪最佳优先搜索 学习A算法前先学习一下贪婪最佳优先搜索算法,在学习过程中在网上找了一些博客、文章还有视频来看以深入理解此算法,但是实际情况却是非常令人恼怒。有些文章标题是贪婪最佳优先搜索,内容却是其他的算法&#x…

【密码学】椭圆曲线密码体制(ECC)

椭圆曲线密码体制(Elliptic Curve Cryptography, ECC)是一种基于椭圆曲线数学特性的公钥密码系统。在介绍椭圆曲线之前,我们先来了解一下椭圆曲线的基本概念。 一、椭圆曲线是什么? (1)椭圆曲线的数学定义…

PolSARPro软件安装处理TerraSAR数据(CSDN_20240804)

1. 打开polSARPro软件,点击Enter 2. 点击OK 3. 点击左侧第一个图像,进入PolSARPro Bio。 4. 点击Enter. 5. 点击Environment,选择Single Data Set 6. 选择工作路径 7. 点击No 8. Import -> Spaceborne Sensors ->TerraSAR-X->Quad-P…

C++的vector类

目录 简介 特点 接口 构造函数 迭代器函数 Capacity系列 element access系列 modifiers系列 定义在全局的重载函数 find 总结 简介 vector 是 C 标准模板库(Standard Template Library,简称 STL)中的一个模板类,用于表…

【iOS】——GCD总结

同步和异步的区别 同步执行等待操作完成,而异步执行允许程序在操作完成前继续运行,提高了效率和响应性。这里的关键就是上一个操作需不需要等待当前操作的执行,如果需要就是同步,如果不需要就是异步。 异步有开启新线程的能力但…

如何构建AI产品:OpenAI与前Shopify产品负责人Miqdad Jaffer的经验分享

一、引言 构建AI产品是一项复杂且充满挑战的任务,尤其是当涉及到面向消费者的解决方案时。在最近的一期播客节目中,OpenAI 和前Shopify产品负责人 Miqdad Jaffer 分享了他在构建AI产品的经验和策略。下面我们将探讨构建AI产品的最佳实践,以及…

行为型设计模式1:状态/策略/命令

行为型设计模式:状态/策略/命令 (qq.com)

【秋招笔试】24-08-03-米哈游-秋招提前批笔试题

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍰 米哈游提前批笔试也是来了,本次题目…

初谈表的约束

文章目录 概念空属性默认值空属性和默认值对比列描述zerofill主键 概念 真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确性。比如有一个字段是emai…

Open3D 计算点云的归一化协方差矩阵

目录 一、概述 1.1原理 1.2实现步骤 1.3应用 二、代码实现 2.1关键函数 2.2完整代码 三、实现效果 3.1原始点云 3.2数据显示 Open3D点云算法汇总及实战案例汇总的目录地址: Open3D点云算法与点云深度学习案例汇总(长期更新)-CSDN博…

文章相关接口

1.新增文章分类 文章分类的表结构和实体类 实体类 接口文档 实现 新创建CategoryController,CategoryService,(CategoryServiceImpl),CategoryMapper 在CategoryController中添加方法 使用注解PostMapping,没有映射路径,我们在CategoryController的类上添加一个映…