zoukankan      html  css  js  c++  java
  • git tag介绍

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

    git的tag功能
    git 下打标签其实有2种情况

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

    一、创建tag

    创建本地标签
    1、创建轻量标签
    轻量标签指向一个发行版的分支,其只是一个像某commit的引用,不存储名称时间戳及标签说明等信息。定义方法如下

     git tag <版本号>-light

    2、创建带附注标签
    相对于轻量标签,附注标签是一个独立的标签对象,包含了名称时间戳以及标签备注等信息,同时指向对应的commit。定义方法如下

    git tag -a <版本号> -m "<备注信息>"

    3、

    同时我们也可以像特定的commit添加标签,使用该commit对应的SHA值即可

    git tag -a <版本号> <SHA值> -m "<备注信息>"

    比如 git tag -a 1.0.0 0c3b62d -m "Release Edition v1.0.0" 就是为SHA为0c3b62d的这次提交打了1.0发行版的tag

    二、推送标签

    推送所有标签
    git push origin --tags

    推送指定版本的标签
    git push origin <版本号>

    三、查看tag

    1、查看所有的tag
    git tag
    要显示附注信息,我们需要用 show 指令来查看

    2、查看某个tag

    git show tag版本号

    比如:git show V1.2

    扩展:
    查看分支
    1、查看所有分支 git branch -a 2、查看远程分支[分支、tag ] git ls-remote

    四、删除tag

    删除git tag分支

    1、批量删除本地tag
    git tag | xargs -I {} git tag -d {}

    2、批量删除远程tag
    git tag | xargs -I {} git push origin :refs/tags/{}

    命令说明
    grep -v -E 排除master 和 dev
    
    -v 排除
    -E 使用正则表达式
    
    xargs 将前面的值作为参数传入 git branch -D 后面
    
    -I {} 使用占位符 来构造 后面的命令

    扩展:

    删除git分支
    
    1、批量删除本地分支
    git branch -a | grep -v -E 'master|dev' | xargs git branch -D
    
    2、批量删除远程分支
    git branch -r| grep -v -E 'master|dev' | sed 's/origin///g' | xargs -I {} git push origin :{}
    
    如果有些分支无法删除,是因为远程分支的缓存问题,可以使用git remote prune
  • 相关阅读:
    奥运圣火在家乡传递
    Please stop reinventing the wheel (请不要重复发明轮子)
    使用IDispatch::Invoke函数在C++中调用C#实现的托管类库方法
    To invoke and to begin invoke, that is a question.
    XML和JSON(JavaScript Object Notation)
    Cloud Computing Is a Big Whiteboard
    TRIE Data Structure
    ASP.NET AJAX UpdatePanel 控件实现剖析
    分布式计算、网格计算和云计算
    系统架构设计师考试大纲(2009版)
  • 原文地址:https://www.cnblogs.com/dadonggg/p/11040891.html
Copyright © 2011-2022 走看看