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
扩展:
查看分支
、查看所有分支
git branch -a 、查看远程分支[分支、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分支 、批量删除本地分支
git branch -a | grep -v -E 'master|dev' | xargs git branch -D 、批量删除远程分支
git branch -r| grep -v -E 'master|dev' | sed 's/origin\///g' | xargs -I {} git push origin :{} 如果有些分支无法删除,是因为远程分支的缓存问题,可以使用git remote prune
git tag介绍的更多相关文章
- git tag的用法及意义
		git tag 介绍 命令是用来给当前项目状态(在某次commit后)打标签的,目的是便于以后将项目状态回滚到当时打标签的状态.可以把它与虚拟机的snapshot(快照)进行类比. 回想当时在看< ... 
- git tag使用标记
		git跟其它版本控制系统一样,可以打标签(tag), 作用是标记一个点为一个版本号,如0.1.3, v0.1.7, ver_0.1.3.在程序开发到一个阶段后,我们需要打个标签,发布一个版本,标记的作 ... 
- repo 导出本地 git tag 给他人
		背景 使用 repo 管理了多个 git 仓库,有时需要将本地仓库的tag同步给其他人,但又不能直接推到远程(例如权限问题). 实际场景举例 本地复现了一个问题,需要让其他人回退到相同环境来排查. 本 ... 
- Git tag push 到远端仓库
		很早之前,我们就提到过用Git tag来给工程打上标签,但是这个命令只是在本地仓库打标签而已, 为了能把标签同步到远程服务器,我们可以这样做: 默认情况下,git push并不会把tag标签传送到远端 ... 
- git tag — 标签相关操作
		标签可以针对某一时间点的版本做标记,常用于版本发布. 列出标签 $ Git tag # 在控制台打印出当前仓库的所有标签$ git tag -l 'v0.1.*' # 搜索符合模式的标签 打标签 gi ... 
- Git tag 给当前分支打标签
		原文已经找不到出处,重新整理格式,仅作个人收藏! 标签(Tag)可以针对某一时间点的版本做标记,常用于版本发布. 列出tag $ git tag # 在控制台打印出当前仓库的所有tag $ git t ... 
- git命令之git tag 给当前分支打标签
		git tag - 标签相关操作 发表于 2011年06月29日 由 机器猫 标签可以针对某一时间点的版本做标记,常用于版本发布. 列出标签 $ git tag # 在控制台打印出当前仓库的所有标签$ ... 
- git tag查看、创建与删除
		tag管理 查看tag 太多的话用 grep 过滤 $ git tag | grep dev_20150525 # 创建tag $ git tag -a dev_20150525_16 -m 'xxx ... 
- git tag知多少
		这个命令,其实很有用,类似clearcase中的label,就是给一个版本设置一个标记(标签),方便后期查找特定的版本. tag和commit的sha1那串字符串的关系,不是很大,但是还是要说一下的. ... 
随机推荐
- 08 在设备树里描述platform_device【转】
			转自:https://blog.csdn.net/jklinux/article/details/78575281 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原 ... 
- Verilog语言框架
			一.常用关键字 
- [转]5 种使用 Python 代码轻松实现数据可视化的方法
			数据可视化是数据科学家工作中的重要组成部分.在项目的早期阶段,你通常会进行探索性数据分析(Exploratory Data Analysis,EDA)以获取对数据的一些理解.创建可视化方法确实有助于使 ... 
- 蓝桥杯dfs搜索专题
			2018激光样式 #include<bits/stdc++.h> using namespace std; /* dfs(i) 第i个激光机器 有两种选择:vis[i-1] == 0 时 ... 
- pandas分组统计:groupby,melt,pivot_table,crosstab的用法
			groupby: 分组 melt: 宽表转长表 pivot_table: 长表转宽表,数据透视表 crosstab: 交叉表 / 列联表,主要用于分组频数统计 import numpy as np i ... 
- 【声明式事务】Spring声明式事务实现(三)
			以MyBatis为例. 一.基于注解的声明式事务配置 1. 添加tx名字空间 xmlns:tx="http://www.springframework.org/schema/tx" ... 
- vue.js 使用v-model v-once
			v-model 双向绑定 v-once 单项绑定 代码: <!doctype html> <html lang="en"> <head> < ... 
- 机器学习之感知器和线性回归、逻辑回归以及SVM的相互对比
			线性回归是回归模型 感知器.逻辑回归以及SVM是分类模型 线性回归:f(x)=wx+b 感知器:f(x)=sign(wx+b)其中sign是个符号函数,若wx+b>=0取+1,若wx+b< ... 
- 日常笔记6C++标准模板库(STL)用法介绍实例
			一.vector常见用法详解 vector翻译为向量,但是这里翻译成变长数组的叫法更好理解. 如果typename是一个STL容器,定义的时候要记得在>>符号之间加上空格,因为在C++11 ... 
- 从项目中理解let和const为什么如此重要
			变量声明 变量声明方式 伴随js诞生的var // 语法 var varName = value var a = 1 // 这样子你就得到了一个变量 var缺陷场景分析 var specialUser ... 
