Git基础教程(三)

2023-05-16

Git分支

在git中使用分支非常简单,只需要使用Git branch命令即可:

$ git branch test   #新建test分支

此时使用git branch查看一下分支:

此时的确多了一个分支,但当前分支仍旧在master上,如果觉得自己起的分支名不够那么有规范,还可以修改分支名,使用git branch -m test develop,也就是说把test分支名改为develop,如果不需要develop这个分支,可以使用命令git branch -d develop删除。如果想要切换到develop分支上,使用git checkout develop即可。注意在删除分支的时候,除了当前所在分支无法删除之外,其他分支均可删除,如果想删除当前分支,需要先切换至其他分支上去。其中*号代表当前所处分支。

首先我们切换到develop分支,然后追加两个文件,并两次commit。

然后查看一些git记录

可以看出develop比master分支前进了两次commit,在这两次的commit中,新增了两个文件,如果想切换回原来的master分支,执行命令git checkout master,查看一下文件列表,

发现并没有增加的那两个文件,这是因为我们增加的这两个文件,是在不同的分支,只要切换回develop分支,文件就会出现了。

如果要切换回哪个分支,首先这个分支必须存在,如果没有这个分支,那么在git checkout分支的时候,加上-b参数就可以了。如果这个分支本身就存在,那么git回直接切换过去,如果不存在,Git回帮你创建一个,然后再切换过去。

Git切换分支的时候发生了什么

前面提到,在develop新增的两个文件,切换回master分支的时候就不见了,再切换回develop的时候就又出现了,其实不是将目录或者文件复制出来,改动之后放回去,在Git切换分支的时候主要做了以下两件事:

1.更新暂存区以及工作目录。

Git在切换分支时,会用该分支指向的那个Commit的内容来更新暂存区以及工作目录。但在切换分支之前,所做的改动则会留在工作目录中,不受影响。

2.变更HEAD的位置

除了跟新暂存区以及工作目录的内容之外,HEAD也会指向刚刚切换回去的那个分支。

假设现在还在develop分支,切换到master之前,新增了一个cat.html文件,同时也改动了welcome.html文件内容,此时的状态为:

当前的welcome.html状态为modified,而cat.html状态为Untracked,此时如果不commit就直接切换回master分支,会用该分支指向的那个commit的内容更新暂存区以及工作目录,但在切花分支之前所做的改动则会留在工作目录中,不受影响。

然后查看一下文件列表:

也就是说,切换分支并不会影响已经在工作目录中的那些改动。

合并分支

在上面的例子中,从master分支开了一个develop分支,并做了2次commit,现在我们任务执行的差不多了,就要准备合并回来了,如果想用master分支合并develop分支,那么就需要先切换回master分支,git checkout master,然后使用git merge develop进行分支合并。

然后查看文件列表

由于master分支已经合并了develop分支,所以在develop分支新增的文件也出现在了master分支。在这里推荐大家使用一个git提交记录的查看工具,具有可视化界面,能够清除的看到自己在哪个分支上,大家可以使用gitk命令,也可以使用qgit命令,两者都需要使用sudo apt install 进行安装。qgit界面如下,首先需要勾选三个复选框。

可以看到当前我们所处分支魏develop分支(高亮),且我们的master分支落后develop分支两次提交,此时我们merge之后,刷新一下该界面,查看一下。

在合并之后,其进度已经跟develop分支同步,并且,当前master的分支下的文件状态,已经跟develop分支完全一致,这是非常需要值得注意的事情。

 

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

Git基础教程(三) 的相关文章

  • rtsp流浏览器播放方案

    rtsp流在主流浏览器并不支持直接播放 比如大华的视频流 xff1a rtsp admin 123456 64 192 168 10 129 cam realmonitor channel 61 1 amp subtype 61 0 xff
  • PX4开发指南中文版维护说明

    PX4中文维基现已与PX4开发者官网合并 现在大家可以直接进入官网进行语言切换 PX4中文版的维护依然需要你的贡献 贡献说明 xff1a 官方的GitHub仓库为https github com PX4 Devguide 我将其Fork后的
  • OpenCV图像坐标系与行列宽高的关系

    刚开始接触图像处理 xff0c 关于图像坐标系与行列宽高的关系感到纠结 xff0c 但是似乎没有更好的处理方法了 xff0c 其对应关系大致如下 row 61 61 height 61 61 Point y col 61 61 width
  • Pixhawk原生固件PX4之位姿控制算法解读

    欢迎交流 个人 Gitter 交流平台 xff0c 点击直达 xff1a 参考文献 xff1a Minimum Snap Trajectory Generation and Control for Quadrotors PX4中多旋翼无人机
  • Pixhawk精准着陆之IRLock配置

    安装说明 下载Pixymon和pixy对应markone的固件 xff0c 在这里 固件必须是firmware IRLOCKpixy 1 0 1 hex irlock 61 markone 然后固件里 irlock 61 pixy 给Pix
  • Pixhawk原生固件PX4之offboard

    offboard PX4中的offboard 暂译作外部控制 是一个非常强大的功能 可以接受来自外部的控制指令 xff0c 按照目前的了解来看 xff0c offboard搭配上MAVROS以及类似于TX1 NUC板载计算器 xff0c 在
  • 相机标定原理

    cnblogs上的这篇讲相机标定的博文值得一看 csdn上这篇也可以参考 相机标定基础知识 相机标定技术涉及到一些数学原理和几何模型 xff0c 这些数学原理和几何模型是相机标定算法使用和进一步发展的基础 下面对相机标定技术中涉及到的齐次坐
  • VS Code的Git插件

    Visual Studio Code是微软公司推出的一款跨平台代码编辑 Edit 编译 Build 调试 Debug 工具 笔者认为其相当于是Sublime Text这款代码编辑器的升级版 集成了丰富的插件 xff0c 包括代码管理中极为常
  • Ubuntu缺少libncurses.so.5的解决办法

    执行arm none eabi gdb时候出错 xff1a arm none eabi gdb error while loading shared libraries libncurses so 5 cannot open shared
  • freeRTOS的任务抢占和时间片轮转

    实时操作系统的一个特点就是可以任务抢占 xff0c 高优先级的任务可以抢占比自己优先级低的任务 xff0c 如果新任务优先级和当前人任务优先级一样 xff0c 且在使能了时间片的方式的话 xff0c 二者以时间片的方式共享cpu xff0c
  • RH850 F1L freeRTOS 任务栈的切换

    pxCurrentTCB指向的任务块中 xff0c 有2个和栈相关的变量pxTopOfStack和pxStack pxTopOfStack指向当前堆栈栈顶 xff0c 随着进栈出栈 xff0c pxTopOfStack指向的位置是会变化的
  • opencv 3.0 图像去畸变 undistortion

    主要用到的是 initUndistortRectif yMap这个函数 在opencv中这个函数是用于 去除镜头畸变的图像拉伸 为了快速算法 xff1a 使用了坐标查找变和双线性差值的方法 先上结果图 原图 去畸变至全图 去畸变并保留最大图
  • 多传感器融合MSF算法源码阅读(三)

    文章目录 1 触发测量更新回调函数2 测量更新状态量3 总结 无人驾驶算法学习 xff08 六 xff09 xff1a 多传感器融合MSF算法 多传感器融合MSF算法源码阅读 一 多传感器融合MSF算法源码阅读 二 1 触发测量更新回调函数
  • 视觉VIO:S-MSCKF算法学习(一)

    文章目录 1 算法简介2 算法调试3 代码解读3 1 前端 ImageProcessor3 2 后端 Msckf Vio 1 算法简介 Mingyang Li博士于2007年提出MSCKF Multi State Constraint Ka
  • 无人驾驶算法学习(六):多传感器融合MSF算法

    文章目录 1 引言2 算法理论2 1 MSF基本模型2 2 预测2 3 测量与更新 3 核心代码分析4 代码实战 1 引言 本文的多传感器融合是建立在读懂 Quaternion kinematics for the error state
  • 多传感器融合MSF算法源码阅读(一)

    文章目录 1 代码框架1 1代码调用关系图 1 2主要函数调用关系图 2 posemsf阅读2 1程序入口 xff1a 2 2PoseSensorManager类 1 代码框架 论文解读 无人驾驶算法学习 xff08 六 xff09 xff
  • 通过launch文件修改订阅话题的两个操作

    文章目录 1 引言2 利用param修改话题2 利用remap修改话题 1 引言 在调试程序中需要经常修改订阅的话题 如果直接修改每次都要编译 在大型项目中这是难以想象的 所以利用launch中的param机制 通过修改launch文件进行
  • ubuntu下安装vnc出错(灰屏)

    我 win10 用的 vncviewer exe xff0c 在Ubuntu上首先需要安装vnc4server apt get install vnc4server 出现灰色屏幕和 型鼠标是因为vncserver找不到指定的图形化组件 xf
  • 51UWB单片机连接ESP8266实现Wifi接收串口数据

    UWB定位需要电脑读取UWB基站的串口数据来读取距离信息 xff0c 用wifi连接可以实现远程接收串口数据方便连接 这里记录一下如何让51UWB单片机接入WiFi模块ESP8266 前置条件 xff1a 单片机完成基站 xff08 RX
  • Qt中的三种基类

    一 QMainWindow xff1a QMainWindow类提供一个带有菜单条 xff0c 工具条和一个状态条的主应用程序窗口 主窗口通常提供一个大的中央窗口部件 xff0c 以及周围菜单 xff0c 工具条 xff0c 和一个状态栏

随机推荐