git创建/合并分支原理

2023-11-11

来源:https://blog.csdn.net/abcnull/article/details/90288499

创建与合并分支简单原理
分支被合并可以被 -d 删除,分支没有被合并 -d 删除会出错,需要 -D 强制删除
 
  • master分支
  • 一个分支就是一条时间线,默认有一条时间线master,
  • 其中有个指针master,这个master指针是指向提交的,
  • 还有个 HEAD指针,这个指针是指向当前的指向提交的指针的指针,也就是 指向当前分支的指针
  • 每次提交,master指针都会向后移一位,这样不断去提交,master分支就会越来越长。
  • 如下图1:
  •  
 
  • 创建dev新分支
  • 若创建新分支,如dev分支,git会新建一个dev指针,与master指针功能一样。
  • 先是指向和master同样的位置,当checkout切换到dev分支时候,HEAD指针就指向了dev指针了,
  • 当在dev分支下提交,master指针不动。
  • 如下图2和图3:
  •  
 
 
  • 分支的合并
  • 分支合并,操作很简单,若将dev分支内容合到master上,就是将master的指针指向dev指针指向的位置即可,
  • 如图4:
  •  
 
  • 删除dev分支
  • 删除分支就是讲dev指针删除掉,
  • 如图5:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

git创建/合并分支原理 的相关文章

  • SSH 到 Openshift 服务器失败

    我正在 openshift 服务器上使用 jboss catridge 我希望与其他人共享此实例并添加其他用户的公钥 id rsa pub 当其他人尝试访问该实例时 他会收到以下错误 我在他的实例中尝试了同样的方法 但看到了同样的错误 与
  • IntelliJ:查看本地和 git 提交/分支之间所有已更改文件的差异

    使用 IntelliJ 的 diff 查看器是检查代码的一种非常好的方法 因为您可以使用 IntelliJ 代码编辑器的所有功能 重构 完成等 在本地版本中进行更改 不幸的是 我还没有弄清楚当你在 IntelliJ 中进行代码审查时如何做最
  • 如何使用交互式变基将提交编辑为未提交?

    我想使用交互式变基来编辑以前的提交 但是当我进入该提交的编辑模式时 所有文件都已提交 我知道我可以进行更改并修改提交 但我希望所有更改最初都未提交 暂存或以其他方式 这样我就可以对其进行编辑 就像在最初提交之前一样 这可能吗 Imagine
  • git push heroku master 权限被拒绝

    我正在关注 ruby railstutorial 我运行命令 git push heroku master 它吐出了这个错误 Permission denied publickey fatal Could not read from rem
  • git pull,忽略深度,如何不拉取整个历史记录?

    我们有一个巨大的多 GB git 存储库 主要是二进制对象 克隆需要几天时间 实际的主分支 没有历史记录 只有大约 20MB 所以我想 深度为 1 的 git 克隆就是解决办法 然而 现在我需要将某人的更新拉到主服务器 我们没有分支 当我拉
  • 如何将更改移出主分支

    基本问题 但这一直发生在我身上 进行更改working branch 切换到master git merge working branch git push cap deploy 到舞台 泡一杯新茶 然后我回来思考其他事情并开始做出一些改变
  • 有谁知道类似于 SVN Time-Lapse View 的 Git 工具 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 SVN Time Lapse View 是一个跨平台查看器 可以下载文件的所有修订版本 并允许您通过拖
  • git reset 命令中的 ~1 是什么意思?

    git 重置 HEAD 1 我的印象是 1 的意思是 从 HEAD 开始 遵循 1 链接 并将 HEAD 标签设置为新的提交节点 我正期待着 git 重置 HEAD 2 跟随 2 个链接 然后设置 HEAD 标签 但是 如果我尝试它 我会收
  • git 匹配多个单词的标签

    我们可以得到最后一个 git 标签 它以一个单词 例如 TEST 开头 如下所示 git describe tag dirty match TEST 我想知道如何获得最后一个以 word1 开头的标签orword2 例如测试OR跑步 我尝试
  • 如何合并两个连续的 git 存储库

    我有一个相当独特的情况 我有一个名为 Project1 的存储库 我在其中工作了一些时间 几个月 一年后 我创建了存储库 Project1 Again 从 Project1 停止的地方开始 现在 我希望修订历史记录是连续的 因此我希望它们合
  • git 别名中的 AWK 语句

    我正在尝试创建一个 git 别名来以特定格式打印日志中的所有拉取请求 但是 我在使用 AWK 删除双空格时遇到问题 这是使用以下命令的 git log 的输出 git log merges grep pull request pretty
  • VS 2015 + Bower:在防火墙后面不起作用

    Problem 在 Visual Studio 2015 中 使用 Bower 我的包在防火墙后面时恢复失败 并出现类似以下内容的错误 ECMDERR 无法执行 git ls remote tags heads git github com
  • 在 Azure DevOps 项目之间移动存储库时保留拉取请求

    我在同一帐户内有两个 Azure DevOps 项目 我想将存储库从一个项目移动到另一个项目 这一页探索如何在具有完全保真历史记录的团队项目之间移动 git 存储库 https learn microsoft com en us azure
  • 如何将工作树与提交进行比较?

    我在用着 git diff mycommit 用于比较我的工作树mycommit 但它似乎忽略当前索引中不存在的文件 您可以按如下方式重现它 git init echo A gt A txt git add git commit m A g
  • git 认为文件已更改

    我在一台机器上对一个项目做了一些工作 然后推送到 github 在另一台机器上克隆并做了一些工作 然后推送 然后我回到第一台机器并做了一个pull 现在 第一台机器认为项目中最初的所有文件都已更改 我试过了 git checkout f a
  • 如何让 Aptana Studio 记住 git ssh 密码

    我找不到任何有关如何获得 Aptana Studio 的内置 git 支持来记住执行推 拉操作的 ssh 密码的指南 信息 有人有什么想法吗 Aptana Studio 实际上是内置的 GIT 程序 它将在 Windows 上的 C Use
  • Git 更改丢失 - 为什么?

    我们的开发团队正在使用 git 最近我们至少两次丢失了文件更改 我们正在使用私人 Github 存储库 在当前情况下 我们可以返回 Github 上的日志并查看我对文件所做的一些更新 后来 另一位团队成员更改了文件的不同部分 它似乎破坏了我
  • 仅使用 Git grep 的文件名

    我只想查看文本中包含特定单词的不同文件 current directory git grep word 显示文件中具有匹配单词的每一行 所以我尝试了这个 current directory git grep word files with
  • Git:从 master 以外的分支克隆

    我正在尝试从 Github 的存储库中提取数据 但我不想克隆主分支 我想克隆其他一些分支 当我尝试时git clone
  • 显示 master 之前/之后有多少提交分支的别名

    新的 Bitbucket Branches 页面非常棒 它显示每个分支领先 落后于 master 的提交数量 是否有显示相同信息的 Git 别名 信息应显示 分店名称 上次更新是什么时候 其背后有多少提交 有多少提交领先于 master 看

随机推荐

  • QT信号槽原理(二)moc代码中的信号槽部分

    目录 前言 moc代码详解 原始代码 emit宏 moc后代码 moc出的信号函数 QMetaObject activate doactive 第一步 获取该信号的所有连接 第二步 遍历每一个连接 第三步 判断发送者和接收者是否在同一线程
  • Oracle导入指令

    打开sqlplus 创建用户 create user mingzi identified by 123456 用户授权 grant connect resource dba to mingzi 导入 imp mingzi 123456 or
  • C++实现树 - 02 二叉树

    数据结构与算法专栏 C 实现 写在前面 这一讲我们来看看二叉树的实现 还不清楚树的结构的小伙伴建议先看看上面一讲关于树的定义 二叉树的定义 二叉树是每个结点最多有两个子树的树结构 也就是说二叉树不允许存在度大于2的树 它有五种最基本的形态
  • 企业级zabbix监控服务搭建

    一 什么是zabbix zabbix可以干什么的 为什么我们要使用zabbix 什么是zabbix zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案 zabbix由2部分构成 zabbix serv
  • Swoole系列(3) - 服务端 (异步风格)

    1 应用场景 主要用于学习和使用Swoole的服务端 异步风格 同时学习其实现原理 2 学习 操作 1 文档阅读 Swoole4 文档 服务端 异步风格 2 整理输出 2 1 是什么 方便的创建一个异步服务器程序 支持 TCP UDP un
  • 行内/行内块元素、块元素,水平垂直居中的方法

    行内元素 行内块元素 水平居中 text align ceter 垂直居中 line height height 块元素 水平居中 margin 0 auto 水平垂直居中 父子皆定位 方法一 盒子必须要有宽高 top 0 right 0
  • 浅谈磁珠(基础)

    磁珠 Ferrite bead 全称为铁氧体磁珠滤波器 简写FB 抗干扰元件的一种 滤除高频噪声效果显著 磁珠的等效电路是一个DCR电阻串联一个电感并联一个电容和一个电阻 DCR是一个恒定值 但后面三个元件都是频率的函数 也就是说它们的感抗
  • ajax中for循环中怎么使用if,在ExtJS中,我可以在Ajax请求中调用for循环和if语句来定义我的参数吗?...

    我想通过我在fieldSet中的复选框进行迭代 如果复选框被选中 我想将复选框的ID添加到数组中 该数组将作为我的Ajax请求的参数之一 在ExtJS中 我可以在Ajax请求中调用for循环和if语句来定义我的参数吗 我意识到我可以创建一个
  • linux下载安装搭建、卸载FastDfs文件服务器、配置多存储路径(轮询、最大内存选择)、nginx反向代理实现图片预览、常用命令

    linux下载安装搭建 卸载FastDfs文件服务器 配置多存储路径 轮询 最大内存选择 nginx反向代理实现图片预览 常用命令 Springboot整合Fastdfs上传图片 缩略图 下载文件 需求 文件转存方案 springboot整
  • 51:电机(ULN2003D)

    目录 1 介绍 2 原理图 编辑 A 大功率直接驱动 B H桥驱动 3 电机调速 pwm 编辑 A 实例代码 大功率直接驱动 1 介绍 我们51单片机使用的是直流电机 直流电机是一种将电能转换为机械能的装置 一般的直流电机有两个电极 当电极
  • 利用CGAL对网格填洞( Filling holes)

    CGAL的资料尤其是中文资料少之又少 现根据自己要完成的工作进行一个记录和总结 也希望能填补资料的空缺 在CGAL中 使用半边结构Halfedge Data Structure来存储网格信息 另外一个类似于CGAL的库OpenMesh同样使
  • Istio熔断器功能解析

    前言 Istio因灵活的可观察性和安全的服务间通信受到了赞许 然而 其他更重要的功能才真正使得Istio成为了服务网格里的瑞士军刀 当遇到运行时长 延迟和错误率等SLO问题时 服务间的流量管理能力是至关重要的 在今年早些时候发布 Istio
  • java两个日期比较相等

    1 利用Date的equals比较大小 1 利用Date的equals比较大小 SimpleDateFormat sdf new SimpleDateFormat yyyy MM dd HH mm ss String timeStr1 20
  • stm32 串口发送字符串第一个字节丢失、复位发送00

    1 stm32 串口发送字符串第一个字节丢失 这个问题如下解决 while USART GetFlagStatus USART1 USART FLAG TXE RESET 防止一个字节丢失 USART SendData USART1 dat
  • 魏副业而战:闲鱼无货源爆款热销产品推荐

    我是魏哥 与其在家躺平 不如魏副业而战 每天分享一个闲鱼技巧 今天给大家推荐一些闲鱼爆款 很多人做闲鱼过了新鲜期之后 觉得选品太难了 很羡慕那些月入过万每天爆单的人 那为什么别人能每天轻松卖出几十单 而自己却不知道上架什么产品呢 下面就告诉
  • 检查nacos是否正常启动

    可以通过以下几种方式检查nacos是否启动 查看nacos日志文件 启动nacos时 控制台会输出一些信息 可以查看控制台输出的信息 如果显示 Server startup in XXX ms 等字样 则说明nacos已经启动 查看端口是否
  • mybatis-plus 判断参数是否为空并作为查询条件

    方式一 在配置文件中加上全局配置 mybatis plus global config db config field strategy not empty 方式二 对某一字段单独进行判断非空 QueryWrapper
  • Stable Disffusion 采样器总结

    Stable Disffusion 采样器 1 Euler a Euler a 属于超快采样模式 采样10次 即可完成基本画面 但是继续提高采样步数 就基本脱离了提示词 是个插画 tag利用率仅次与DPM2和DPM2 a 环境光效菜 构图有
  • springcloud配置详解

    在这里插入代码片 1 版本信息 父项目 依赖管理 pom文件
  • git创建/合并分支原理

    来源 https blog csdn net abcnull article details 90288499 创建与合并分支简单原理 分支被合并可以被 d 删除 分支没有被合并 d 删除会出错 需要 D 强制删除 master分支 一个分