对git中tag, branch的重新理解

1. 问题背景

项目中之前一个tag(v1.0)打错了,想删除它,但我们从此tag v1.0中迁出新建分支Branch_v1.0,在此分支下修复了bug,想重新打一个tag v1.0,原来的tag v1.0可以删除掉吗?

错误的理解:按我之前的理解,Branch_v1.0是从原来的tag v1.0中迁出,对tag v1.0有引用,而新打的tag又是基于Branch_v1.0,对Branch_v1.0存在引用,从而Branch_v1.0不可以删除,自然而然,原来的tag v1.0也不能删除。所以新打的tag只能换一个名字。

2. 解决方法

  • 本地建了个git仓库,模拟这种情况,下图展示的就是一上问题背景中描述的场景,tag v1.0为错误标签,master分支已经离开tag1.0的位置,有新的提交,此时发现v1.0有问题,所以从tag v1.0中迁出并创建新分支Branch_v1.0,修复了问题,然后新建tag v1.0.0(经过查看git文档可知,原来的tag1.0假设没有推送的远程,是可以直接删除掉,然后新的tag就取名v1.0,没问题或直接在新建tag时,直接用选项强制覆盖名称v1.0。但是若tag已推送到远程,其他人已经获取到了,这样删除就不太明智了,除非你删除后,通知其他人将本地仓库重新git clone ),此时可以删除Branch_v1.0吗?删除后,tag v1.0.0还能用吗?

    图标说明下:红色表示当前工作分支,绿色表示各个分支的最后一次提交,黄色表示tag,绿色+黄色,表示在绿色下面打的标签,并在同一位置,三个颜色在一起类比即可
    在这里插入图片描述

  • TortoiseGit中没找到删除分支的菜单,直接用命令操作。删除后,发现新建的tag v1.0.0没有影响,都还在。
    在这里插入图片描述

  • 继续操作,删除tag v1.0 ,然后看下仓库图,发现v1.0.0此时不再从tag v1.0流出(tag v1.0已被我删除),而是从 24dd6155 中流出, 这个24dd6155就是tag v1.0引用的git提交id号,从删除tag的命令行可知,tag v1.0引用的就是24dd6155。
    在这里插入图片描述
    在这里插入图片描述

综上所述,可以得出结论,tag, branch引用的是提交id(git每一次提交都会生成一个唯一id),不是某个tag或branch, 删除tag或branch不用对git的提交数据产生影响

有了这个认识,针对以上问题,就有了相应的解决方案了,即原来的tag1.0假设没有推送的远程,是可以直接删除掉,然后新的tag就取名v1.0,没问题或直接在新建tag时,直接用选项强制覆盖名称v1.0。但是若tag已推送到远程,其他人已经获取到了,这样删除就不太明智了,除非你删除后,通知其他人将本地仓库重新git clone。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Starrocks监控方案

下载安装包 Download | Prometheus Download Grafana | Grafana Labs 部署prometheus 配置文件 global: scrape_interval: 15s evaluation_interval: 15s scrape_configs: - job_name: StarRocks_Cluster metrics_path: /metrics static_configs: - targets: [192.168.110…

【BetterBench】2024年都有哪些数学建模竞赛和大数据竞赛?

2024年每个月有哪些竞赛? 2024年32个数学建模和数据挖掘竞赛重磅来袭!!! 2024年数学建模和数学挖掘竞赛时间目录汇总 一月 (1)2024年第二届“华数杯”国际大学生数学建模竞赛 报名时间:即日起…

同城短视频矩阵怎么做?小魔推助力实体行业高效视频分发

在如今的互联网时代,各个行业的实体老板都在考虑转型的方向,希望能有更多的发展,特别是抖音短视频做作为日活8亿用户的超大平台,吸引了无数的实体老板入场做宣传,来做自己门店、品牌的曝光获客动作,但引流并…

C++力扣题目104--二叉树的最大深度

给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 返回它的最大深度 3 。 思路 看完本篇可以一起做了如下…

Apache Doris (六十三): Spark Doris Connector - (3)-配置型及列映射关系

🏡 个人主页:IT贫道-CSDN博客 🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~ 🔔 博主个人B栈地址:豹哥教你学编程的个人空间-豹哥教你学编程个人主页-哔哩哔哩视频 目录 1. Spark 操作Doris配置项

CentOS中静态HTTP服务的最佳实践和优化技巧

在CentOS中提供静态HTTP服务是常见的需求,尤其是在构建Web应用程序、托管网站或提供文件下载时。为了确保高效、安全且可靠的传输,这里提供了一些最佳实践和优化技巧。 1. 选择合适的HTTP服务器软件 Nginx: 轻量级、高效,支持HTTP/2&#x…

【安卓模拟器】雷电模拟器9 v9.0.64 绿色版(免安装版,一键绿化)

下载地址 极核GetShell 简介 雷电模拟器9是一款安卓模拟器,支持安卓9版本。安卓模拟器除了能够运行游戏娱乐,对于渗透测试&移动安全测试也有举足轻重的作用。 软件截图 绿化教程 视频教程 下载地址提供了视频绿化教程,有需要的可以…

工单系统:助力传统服务行业实现数字化转型的关键要素

数字化转型的浪潮冲击着传统服务业,对其造成了巨大的影响。其中,工单系统以其多样和强大的功能性,成为传统服务行业必备的数字工具。今天,小编就来大家来聊聊工单系统对传统服务行业有哪些影响?希望对于还未投入使用的…

视频壁纸制作Dynamic Wallpaper中文

Dynamic Wallpaper是一款专门为macOS用户设计的动态壁纸软件。它可以将视频、图片、音乐等多种元素融合在一起,为用户的桌面带来生动、个性化的视觉效果。Dynamic Wallpaper内置了大量动态壁纸,包括自然风景、城市风貌、抽象艺术等多种主题。用户可以根据…

【大数据OLAP引擎】StarRocks为什么快?

StarRocks的优势 StarRocks最初主要的优势是性能,当时在单表查询方面与性能标杆ClickHouse不相上下,而join优化特性使其在多表关联查询场景下的性能表现要远远优于ClickHouse,替换ClickHouse自然也就成了StarRocks的第一个目标。 而StarRoc…

2024年口碑好的外贸CRM软件推荐

外贸CRM软件是指专门为外贸行业设计开发的客户关系管理软件。它通过集成各种功能模块,帮助外贸企业管理客户信息、销售机会、订单跟踪、市场活动等重要业务流程。外贸CRM软件可以提高外贸企业的销售效率和客户满意度,帮助企业建立良好的客户关系&#xf…

(详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models

Haoran Wei1∗, Lingyu Kong2∗, Jinyue Chen2, Liang Zhao1, Zheng Ge1†, Jinrong Yang3, Jianjian Sun1, Chunrui Han1, Xiangyu Zhang1 1MEGVII Technology 2University of Chinese Academy of Sciences 3Huazhong University of Science and Technology arXiv 2023.12.11 …

卖家必看!跨境电商独立站选品思路——电商API接口采集更便捷高效的选品方式

要想打造一个成功的独立站,选品过程至关重要。只有先确定选品,才能完成后续的具体定价、库存备货、店铺风格、匹配支付和物流等等。那么,对于需要搭建独立站的卖家而言,该如何去进行选品,有哪些思路和方法呢&#xff1…

如何使用CentOS系统中的Apache服务器提供静态HTTP服务

在CentOS系统中,Apache服务器是一个常用的Web服务器软件,它可以高效地提供静态HTTP服务。以下是在CentOS中使用Apache提供静态HTTP服务的步骤: 1. 安装Apache服务器 首先,您需要确保已安装Apache服务器。可以使用以下命令安装Ap…

OpenHarmony南向之LCD显示屏

OpenHarmony南向之LCD显示屏 概述 LCD(Liquid Crystal Display)驱动,通过对显示器上下电、初始化显示器驱动IC(Integrated Circuit)内部寄存器等操作,使其可以正常工作。 HDF Display驱动模型 LCD器件驱…

QWebEngineView类中的load、seturl、setPage、setHtml和setContent方法的功能与用法对比

文章目录 📖 介绍 📖🏡 环境 🏡📒 对比 📒📝 load方法📝 setUrl方法📝 setPage方法📝 setHtml方法📝 setContent方法📖 介绍 📖 QWebEngineView 是 Qt 提供的一个用于呈现 Web 内容的类,基于 Google 的 Chromium 浏览器引擎。它提供了对现代 Web 标…

一小时掌握:使用ScrapySharp和C#打造新闻下载器

引言 爬虫技术是指通过编程的方式,自动从互联网上获取和处理数据的技术。爬虫技术有很多应用场景,比如搜索引擎、数据分析、舆情监测、电商比价等。爬虫技术也是一门有趣的技术,可以让你发现网络上的各种有价值的信息。 本文将介绍如何使用…

2024不容错过的好项目好商机,普通人翻身就靠它了,靠谱创业项目推荐

2024什么最容易挣钱?是火遍全网的单身经济?宠物经济?旅游业?大健康经济?都不是!他们确实挣钱,但都不是最容易的。 比如单身经济,卖东西你需要去结合需求去选品,开单身餐厅…

jsoncpp学习

1.环境配置 C 操作 (读写)json 文件及jsoncpp的配置-CSDN博客 一步步跟下来,就可以了!!! 2.遇到的问题: 读取json文件,出现中文乱码!!! 参考:C ifstream open 读取…

产品经理须知 | 电商API接口接入知识小结

应用程序接口API(Application Programming Interface),是提供特定业务输出能力、连接不同系统的一种约定。这里包括外部系统与提供服务的系统(中后台系统)或后台不同系统之间的交互点。包括外部接口、内部接口&#xf…