git:分支切换

2023-10-27

1.分支简介

分支:是针对某类开发工作的一个提交结点序列,序列中最新的提交表示了该分支代码的最新版本。分支通常根据工作类别命名,例如: dev 、 test 分支;使用分支意味着你可以分离各个开发路线,然后在彼此不影响情况下同时向前推进。

当前分支:
一个仓库经常有多个分支。但在任何时刻,开发者只能在众多分支中的某一个分支上工作,这个处于工作状态的分支称为当前分支。
在 git 命令中,当前分支经常使用引用 HEAD 来表示。HEAD指向当前分支的当前所在的某个提交节点.

2.创建分支:第一次(根提交)会创建默认分支

`创建仓库

git init

查看分支

git branch -a

编写test.cpp源文件

#include <iostream>

int main(){
    std::cout<<"branch:dev"<<std::endl;
    std::cout<<"version:1.0 "<<std::endl;
}

集结并提交一个节点:

3.创建并切换到新分支

 4.分支相关命令:

git branch -a           //查看分支
git switch dev          //切换分支
git branch test         //创建新分支
git switch -c test      //创建并切换新分支
git branch -d test      //删除分支

5.切换分支和分支演进

`每次提交后HEAD随着分支一起向前移动

`HEAD在一次switch之后指向另一个分支:
如git切换回dev分支时,完成2个操作:

  1. HEAD 引用指向 dev 分支指针
  2. 用 dev 分支指针指向的最后一个提交对象的快照来恢复集结区工作树

6.切换到匿名分支

`假设当前的git仓库如图:

 

`我们有时需要在某个提交节点上创建新分支,可以切换到该提交节点,得到一个匿名分支。

`git switch -d ce9088 // 等价于 git checkout ce9088
相当于创建了一个没有名字的匿名分支,指向 ce9088 。

`对于匿名分支,其 commit 工作与普通情况一样,只是没有命名的分支文件被更新,由 HEAD 指向最新的提交节点。
下图展示了匿名分支做了 1 次提交的情形:

此时在匿名分支上 git branch 创建新分支就可以引用到该匿名分支 

在匿名分支上做的提交在切换时会被丢弃

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

git:分支切换 的相关文章

随机推荐

  • 嵌入式开发——uboot如何启动内核(以zImage详解)

    1 vmlinuz vmlinux Image zImage与uImage的区别 参考博客 vmlinuz vmlinux Image zImage与uImage的区别 uboot启动内核的大致步骤 1 首先uboot要通过读取SD卡 fl
  • 单路服务器芯片组的发展

    服务器的质保一般为3到5年 但是有的服务器会使用超过十年 所以学习服务器硬件知识 不仅要学习新的知识 还要学习老的 旧的知识 一 单路服务器芯片组发展简介 Q3 06 英特尔发布了3000系列芯片组 其中包括3000和3010芯片组 使用7
  • Android框架BRVAH使用指南

    BRVAH BaseRecyclerViewAdapterHelper 是一个强大并且灵活的RecyclerViewAdapter 集成了大部分列表常用需求解决方案 1 框架引入 将JitPack存储库添加到您的构建文件中 项目根目录下bu
  • Recat 鼠标移动实时显示坐标

    一 React实时显示鼠标坐标事件 从react解构两种方法 import useState useEffect from react 定义方法 状态管理 function useOnMouse var page setPage useSt
  • 机器学习之KNN和决策树

    1 K 临近算法 KNN算法 一 优缺点和适用范围 1 优点 精度高 对异常值不敏感 无数据输入假定 2 缺点 计算复杂度高 空间复杂度高 3 适用数据范围 数值型和标称型 二 原理和算法思想 原理 训练样本集中每个数据都存在标签 输入没有
  • 最新版校园招聘进大厂系列----------(5)百度篇 -----未完待续

    哈喽 大家好 我是 奇点 江湖人称 singularity 刚工作几年 想和大家一同进步 一位上进心十足的 Java ToB端大厂领域博主 喜欢java和python 平时比较懒 能用程序解决的坚决不手动解决 如果有对 java 感兴趣的
  • H264标准学习-base1

    参考博文 https blog csdn net xiexingshishu article details 39323515 https blog csdn net fanbird2008 article details 47122091
  • go使用excelize导出excel

    由于xlsx库两年没有更新了 所以今天又写了个使用excelize到处excel 传参格式仍可参照用xlsx格式 go语言使用tealeg xlsx导出excel 借我三行代码的博客 CSDN博客 type UserData struct
  • SpringBoot2.0 Actuator 监控参数说明

    基于SpringBoot2 0 Actuator metrics的监控 基于Oracle JDK9 G1 引言 SpringBoot2在spring boot actuator中引入了micrometer 对1 x的metrics进行了重构
  • 基于YOLOv5的光学遥感图像舰船目标检测算法

    源自 系统工程与电子技术 作者 成倩 李佳 杜娟 摘 要 针对YOLO you only look once v5算法在应用于光学遥感图像舰船目标检测任务时所面临的小目标误检率 漏检率较高的情况 提出一种基于YOLOv5改进的光学遥感图像舰
  • linux 关闭防火墙 及mysql 无密码登陆

    Linux中怎么去关闭防护墙和mysql的无密码登陆及修改密码 做为一个自己参考的记录 CentOS 防火墙关闭 关闭防火墙命令 systemctl stop firewalld service 开启防火墙 systemctl start
  • 统计某个班男女生人数_sql练习题

    Code 1 有如下表格和数据 2 ID Name Class Sex 3 4 1 张1 一班 男 5 2 张2 一班 男 6 3 张3 二班 女 7 4 张4 一班 男 8 5 张5 二班 女 9
  • kettle案例——数据清洗与校验(完全去重)

    1 源数据预览 2 打开kettle新建一个转换并添加下述步骤然后用跳连接 3 双击CSV文件输入进行配置 点击浏览导入文件 然后点击获取字段 最后点击预览看数据是否抽取进来 4 双击唯一行 哈希值 进行配置 在用来比较的字段处 添加要去重
  • matlab 海岸线绘制,m_map1.4 matlab中

    m map1 4 m map Contents m m map1 4 m map map html m map1 4 m map m coast m m map1 4 m map m contour m m map1 4 m map m c
  • 利用linux内核将多个文件编译成一个ko文件

    利用linux内核将多个文件编译成一个ko文件 1 如果一个驱动直接编译进内核 直接按照以下方式书写 obj y generic serial o vme scc o obj y a o 2 如果一个驱动要编译成模块 且一个模块由1个源文件
  • vue-cli3项目中使用flexible和rem适配移动端的一些踩坑

    最近在做一个移动端的项目 需要做一些适配处理 其实以前一直都是浑水摸鱼式的 虽然看了很多关于移动端适配的方案 感觉都很厉害 但一直迟迟不曾实践 ps 好像大部分中小公司对这方面都没啥要求啊 在网上找了一番后 发现手淘的flexible re
  • LInux目录结构

    文章目录 Linux的目录结构 Linux的目录结构 Linux路径的描述方式 目录各功能介绍 HOME目录和工作目录 Linux的目录结构 Linux的目录结构 Linux的目录结构是一个树型结构 Windows 系统可以拥有多个盘符 如
  • C语言-函数指针和指针函数的用法和区别

    1 简介 本文主要介绍指针函数和函数指针的定义和区别 2 指针函数 2 1 定义 指针函数 其本质是一个函数 该函数的返回值是一个指针 声明格式为 类型标识符 函数名 参数表 简单函数声明 int f int x int y 该函数的返回值
  • 详解socket中TCP的三次握手和四次挥手机制

    无论参考OSI还是TCP IP的网络模型 我们从传输层向更底层看 各层的协议都是在直接或间接的服务于主机与主机之间的通信 而传输层则是在进程与进程通信层面上的 传输层有两个重要的协议 TCP Transmission ControlProt
  • git:分支切换

    1 分支简介 分支 是针对某类开发工作的一个提交结点序列 序列中最新的提交表示了该分支代码的最新版本 分支通常根据工作类别命名 例如 dev test 分支 使用分支意味着你可以分离各个开发路线 然后在彼此不影响情况下同时向前推进 当前分支