对git中tag, branch的重新理解

这篇具有很好参考价值的文章主要介绍了对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,绿色+黄色,表示在绿色下面打的标签,并在同一位置,三个颜色在一起类比即可
    对git中tag, branch的重新理解,杂类,git,tag,branch

  • TortoiseGit中没找到删除分支的菜单,直接用命令操作。删除后,发现新建的tag v1.0.0没有影响,都还在。
    对git中tag, branch的重新理解,杂类,git,tag,branch

  • 继续操作,删除tag v1.0 ,然后看下仓库图,发现v1.0.0此时不再从tag v1.0流出(tag v1.0已被我删除),而是从 24dd6155 中流出, 这个24dd6155就是tag v1.0引用的git提交id号,从删除tag的命令行可知,tag v1.0引用的就是24dd6155。
    对git中tag, branch的重新理解,杂类,git,tag,branch
    对git中tag, branch的重新理解,杂类,git,tag,branch

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

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

到了这里,关于对git中tag, branch的重新理解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • git branch命令解析

             branch分支是指在开发主线中分离出来的,做进一步开发而不影响到原来的主线。         git branch命令是对于项目分支的一些操作,不同参数代表不同的操作,主要有查看分支、创建分支、删除分支、分支重命名的功能。    

    2024年02月13日
    浏览(25)
  • Git分支篇git branch和git checkout

    在开发过程中,项目往往由多人协同开发,那么将多人编写的代码汇总到一起就成了一个困难且复杂的工作,另外项目也需要备份和版本迭代,因此不能只有一个版本。因此分支就成为了优秀的解决方案。 分支相互独立,不同部门在不同分支开发,分支由主分支构建,分支代

    2024年02月06日
    浏览(35)
  • 【Git】Git报错:Branch ‘master‘ set up to track remote branch ‘master‘ from ‘orgin‘

    前言 :如果遇到将从git上拉取的代码,直接上传到新的git仓库地址,注意,需要修改git源,否则,会报错。 报错信息如下: Git报错:Branch ‘master’ set up to track remote branch ‘master’ from ‘orgin’ 解决方案: ①移除之前的git源: ②再次连接新的git源:

    2024年02月11日
    浏览(41)
  • git 查看tag和创建tag以及上传tag命令

    如果你达到一个重要的阶段,并希望永远记住那个特别的提交快照,你可以使用 git tag 给它打上标签。 Git 的 tag 功能是一个非常有用的工具,它可以帮助开发者在代码仓库中标记重要的里程碑和版本号。 Tag 可以看作是一个快照,用于永久性地标记提交记录。 它们通常用于发

    2024年02月02日
    浏览(32)
  • learn git branching学习整理

    learn git branching是一个非常好的git学习网站,它与传统的文字讲解相比较起来有一个非常大的亮点----图形化的git提交树可以实时的反馈并告诉你当前所做的git操作在对于代码管理来说实际意味着什么,这是一个非常好的反馈机制,相比较于直接用命令行来学习git,你会更加了

    2024年02月07日
    浏览(29)
  • vscode新建、删除git branch

    下载git graph插件,基于git graph的可视化操作。 新建git branch 图中dev_tmp分支是新建的临时分支。 新建后通过git graph看到的新分支: 删除git branch 若该分支已合并完毕,需要删除dev_tmp分支,则在git graph页面右键该分支的tag图标,选择删除分支。 要注意先切换到非删除分支上,否

    2024年02月11日
    浏览(35)
  • git 新建分支 推送到远程 首次pull代码报错 git branch --set-upstream-to=origin/<branch>

    在本地创建新分支后,上传到远程仓库,首次pull 的时候,会提示: 当前分支与远程分支并未建立联系,需要执行一下 git branch --set-upstream-to=origin/ 操作 解决办法: git branch --set-upstream-to=origin/远程分支名 建立完联系之后,就可以进行 git pull、git push 等操作啦~

    2024年02月16日
    浏览(42)
  • Learn Git Branching 学习笔记(Git远程仓库篇)

    目录 一、Git远程仓库篇 1.git clone 在本地创建一个远程仓库的拷贝        2.远程分支 3.git fetch 4.git pull      5.模拟团队合作 6.git push 7.远程库提交历史的偏离     8.远程服务器拒绝!(Remote Rejected) Git的高级话题集合在上一篇文章中Learn Git Branching 学习笔记(高级话题篇)_流年

    2024年02月13日
    浏览(41)
  • Git系列之git tag

    Git可给仓库历史中的某一个提交打上标签,常用于标记发布结点。 本文使用的Git版本为: 列出全部标签的命令为: git tag 或 git tag -l 或 git tag -list ,即 -l 或 -list 选项是可选的, git tag ,即默认列出全部标签,以字母顺序排序。 查找某些特定标签的命令: git tag -l \\\"release*\\\"

    2024年02月11日
    浏览(47)
  • git拉取指定 tag 版本/切换指定tag代码

    git clone 指定的tag 已有仓库切换 tag 注意这时候git会提示你目前处于detached HEAD的状态,因为tag相当于一个快照,不能修改他的代码,如果想要在这个tag的代码基础上进行开发,则根据tag创建一个新的分支 git tags 和 Branches的区别 Git中的tag和branch区别和使用

    2024年02月15日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包