• 扯一扯Git的标签Tag


    扯一扯Git的标签

    今天来扯一下Git的标签(即 Tag),它是什么,它的作用,它和分支(Branch)的区别,最后是它的API。

    1 是什么

    Tag是Git版本管理中的一个标签/标记,它本质上是指向某个commit的指针。

    2 作用

    Tag主要⽤于发布版本的管理,⼀个版本发布之后,我们可以为Git打上 V.1.0.1,V.1.0.2 ... 这样的标签,并且是针对某个分支中的某个commit打标签。
    我们想对某个特定的commit添加标记,比如要标识版本信息,这时候就可以用的Git中的打标签功能。打Tag就类似于我们看书放书签一样,以后可以直接用Tag找到提交的位置,不然的话,就只有看commit信息定位到指定位置,而commit是很多很多的,不方便查找和定位。

    3 和分支(Branch)的区别

    tag感觉跟branch有点相似,但是本质上和分⼯上是不同的:
    tag 对应某次commit, 是⼀个点,是不可移动的。
    branch 对应⼀系列commit,是很多点连成的⼀根线,有⼀个HEAD 指针,是可以依靠 HEAD 指针移动的。
    所以,两者的区别决定了使⽤⽅式,改动代码⽤ branch ,不改动只查看⽤ tag。
    tag 和 branch 的相互配合使⽤,有时候起到⾮常⽅便的效果,例如:已经发布了 v1.0 v2.0 v3.0 三个版本,这个时候,我突然想不改现
    有代码的前提下,在 v2.0 的基础上加个新功能,作为 v4.0 发布。就可以检出 v2.0 的代码作为⼀个 branch ,然后作为开发分⽀。

    4 API

    1. 为某个提交打标签

      1. 为指定的提交ID上打标签 为提交ID前几位,也可以是完整的ID:
        git tag -a <tagname> -m "版本介绍" <commit id>
        
      2. 在本地为当前最新的提交打标签(后面不跟commit id,默认是最新 commit)
        git tag -a <tagname> -m '版本介绍'
        
    2. 查看标签

      1. 查看本地标签
      • 查看所有本地标签:
        git tag
        
      • 按照关键字查看,其中 v1.* 就是类似模糊匹配的关键字:
        git tag -l `"v1.*"`
        
      1. 查看远程标签
        git ls-remote --tags
        
    3. 查看标签详情

      git show <tagname>
      
    4. 推送标签到远程服务器上

      # push单个特定的tag (origin代表remote名字,可以省略,表示使用默认remote)
      git push [origin] <tagname>
      # push所有tag
      git push [origin] --tags
      
    5. 删除标签
      可以一次删除多个标签

      git tag -d <tagname1> [<tagname2> <tagname3> ...]
      
    6. 检出标签
      可以根据标签,检出相应的代码

      git checkout <tagname>
      

    参考链接:https://wenku.baidu.com/view/9269e62b7fd184254b35eefdc8d376eeaeaa17f5.html
    https://blog.csdn.net/huangbin123/article/details/119670322

  • 相关阅读:
    sublime Text2 快捷键精华版
    jQuery中的选择器(下)
    jQuery中的选择器(上)
    C#编程语言与面向对象——类与对象
    C#编程语言与面向对象——核心
    拖延症改变
    IIS 发布网站 ashx无法访问
    C# button 去边框
    JS URL参数传递 谷歌乱码解决
    地址(Address)——统一资源表示(URI)——WCF学习笔记(2)
  • 原文地址:https://www.cnblogs.com/mediocreWorld/p/16336757.html
Copyright © 2020-2023  润新知