tag 和branch的区别

  • Git tag是一系列commit的中的一个点,只能查看,不能移动。
  • branch是一系列串联的commit的线。

git tag的用法

  • 我们常常在代码封板时,使用git 创建一个tag ,这样一个不可修改的历史代码版本就像被我们封存起来一样,不论是运维发布拉取,或者以后的代码版本管理,都是十分方便的

git的tag功能

  • git 下打标签其实有2种情况
    轻量级的:它其实是一个独立的分支,或者说是一个不可变的分支.指向特定提交对象的引用
  • 带附注的:实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证,电子邮件地址和日期,一般我们都建议使用含附注型的标签,以便保留相关信息
    所以我们推荐使用第二种标签形式

创建tag

  • git tag -a V1.2 -m ‘release 1.2’
  • 上面的命令我们成功创建了本地一个版本 V1.2 ,并且添加了附注信息 ‘release 1.2’

查看tag

  • git tag

  • 要显示附注信息,我们需要用 show 指令来查看

  • git show V1.2

  • 但是目前这个标签仅仅是提交到了本地git仓库.如何同步到远程代码库

  • git push origin --tags

  • 如果刚刚同步上去,你缺发现一个致命bug ,需要重新打版本,现在还为时不晚.

  • git tag -d V1.2

  • 到这一步我们只是删除了本地 V1.2的版本,可是线上V1.2的版本还是存在,如何办?这时我们可以推送的空的同名版本到线下,达到删除线上版本的目标:

  • git push origin :refs/tags/V1.2

  • 如何获取远程版本?

  • git fetch origin tag V1.2

  • 这样我们可以精准拉取指定的某一个版本.适用于运维同学部署指定版本.

tag 和branch的区别相关推荐

  1. git tag 和 branch 的区别以及使用场景

    前言 正文开始之前,我想我们需要弄明白几个问题: tag 是什么? 使用tag 的好处? tag 和 branch 的区别以及使用场景? tag 是什么? tag , 翻译过来是标签的意思,顾名思义, ...

  2. SVN中tag和branch的区别

    在SVN中Branch/tag在一个功能选项中,在使用中也往往产生混淆. 在实现上,branch和tag,对于svn都是使用copy实现的,所以他们在默认的权限上和一般的目录没有区别.至于何时用tag ...

  3. git tag和branch的区别

    命令 區別 git tag 發佈的可下載的軟件包 git branch 所以兩者之間沒有必然聯繫.

  4. 重新认识笔记体系的标签:了解 tag 和 label 的区别

    深入使用过印象笔记的都知道,印象笔记中的笔记本只能建立250个,而标签却有10万个.所以,我们应该了解了笔记本和标签的不同. 笔记本具有容器属性,一条笔记放进一个笔记本,就不能放到另一个笔记本,而我们 ...

  5. SVN trunk branch tags 区别

    Trunk: 主工作目录,从开始编码到当下所有开发功能,测试,最新代码. Branches: 分支目录 1.Truank的重要版本发布后 创建一个分支上后可修复Bug; 2. 在不影响Trunk的前提 ...

  6. git tag和分支的区别_GIT常用命令大全

    Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. 克隆远程文件: git clone https://gitee.com/abcd/ ...

  7. git cherry-pick branch 与 git rebase branch 的区别

    背景: 一直以为 git cherry-pick <branchname> 与 git rebase <branchname>是一样效果.今天在使用 cherry-pick & ...

  8. Git 处理tag和branch的命令

    最近想给GitHub 上的项目设置tag,可是使用GitHub Desktop,找了一圈都没找到快速设置Tag 的地方,最后只能通过终端命令来添加了. 想要查看Git 的命令,可以使用 git --h ...

  9. 查看git当前tag_git 切换到tag或branch分支

    git查看tag git查看tag命令: ershixiongdeMacBook-Pro:spring-boot zzs$ git tag v2.2.0.M1 v2.2.0.M2 v2.2.0.M3 ...

最新文章

  1. ios6:新特征介绍
  2. python知识点:文件读写以及其他基础知识点
  3. mysql怎么实现确认收货_Tp结合redis实现订单自动收货
  4. python3下载图片
  5. 极速理解设计模式系列:2.观察者模式(Observer Pattern)
  6. Linux下修改系统时间的简单方法
  7. mysql in和like_mysql-一起使用SQL LIKE和IN
  8. android 固件 修改工具箱,固件工具箱(ROM Toolbox)
  9. kux2mp4(优酷kux转换为mp4软件) v2021
  10. 使用谷歌地图在 Flutter 应用中添加地图
  11. 变量的存储类别 extern static atuo register
  12. ToB产品第一性原理的思考
  13. 51单片机串口中断功能的设置
  14. 解决ubuntu20.04下vi编辑器方向键和退格键问题
  15. ATFX:道琼斯指数的反弹,11月能否突破35000关口?
  16. unity3d占用内存太大解决方法
  17. 洛谷-P2550-彩票摇奖
  18. CES2020,到底发布了哪些高科技?
  19. 16秋计算机科学与技术鲁嘉华数组作业
  20. 【前端面试之Vue】

热门文章

  1. unity如何得到所有子对象_Unity用户手册-Mesh合批
  2. elipse调试linux内核,debug eclipse cdt + qemu虚拟机调试linux内核
  3. c++ java string_C++中string类型的内部结构是什么?
  4. Leetcode每日一题:416.partition-equal-subset-sum(分割等和子集)
  5. python实现一个数如果恰好等于它的因子之和,这个数就称为“完数” 。例如, 6的因子为 1、2、3,而 6=1+2+3,因此 6 是完数。编程找出1000之内的所有完数
  6. MVP小白入门,只需5步
  7. centos6.8安装xfce+vnc
  8. android 小学课程,小学课堂(小学学习软件)
  9. 命令行怎么关闭自动修复此计算机,cmd重启命令(win10怎么跳过自动修复)
  10. 利用Docker一键部署若依前后端分离项目详细教程