[Git]Git指南一 查看创建删除标签
1. 查看标签
列出现有标签,使用如下命令:
xiaosi@yoona:~/code/learningnotes$ git tag
r-000000-000000-cm.cm
v1.0.0
v1.0.1
我们可以用特定的搜索模式列出符合条件的标签。如果只对1.0系列的版本感兴趣,可以运行如下命令:
xiaosi@yoona:~/code/learningnotes$ git tag -l 'v1.0.*'
v1.0.0
v1.0.1
2. 创建标签
Git 使用的标签有两种类型:轻量级的(lightweight)和含附注的(annotated)。
- 轻量级标签就像是个不会变化的分支,实际上它就是个指向特定提交对象的引用。
 - 含附注标签,实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,电子邮件地址和日期,以及标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证。
 
一般我们都建议使用含附注型的标签,以便保留相关信息;当然,如果只是临时性加注标签,或者不需要旁注额外信息,用轻量级标签也没问题。
2.1 含附注的标签
使用如下命令创建一个含附注类型标签:
xiaosi@yoona:~/code/learningnotes$ git tag -a v1.0.2 -m "version 1.0.2"
xiaosi@yoona:~/code/learningnotes$ git tag
r-000000-000000-cm.cm
v1.0.0
v1.0.1
v1.0.2
备注
- -a (取 
annotated的首字母)指定标签名字 - -m 选项指定了对应的标签说明,Git 会将此说明一同保存在标签对象中。如果没有给出该选项,Git 会启动文本编辑软件供你输入标签说明。
 
可以使用 git show 命令查看相应标签的版本信息,并连同显示打标签时的提交对象:
xiaosi@yoona:~/code/learningnotes$ git show v1.0.2
tag v1.0.2
Tagger: yoona <yoona@qq.com>
Date:   Tue Jul 25 14:14:26 2017 +0800
version 1.0.2
commit 2274f5e988b9300d9103a6be230d19ee945ff575
Author: jifeng.si <jifeng.si@qunar.com>
Date:   Tue Jul 25 13:39:29 2017 +0800
    MOD
    ...
2.2 轻量级标签
轻量级标签实际上就是一个保存着对应提交对象的校验和信息的文件。要创建这样的标签,-a,-s 或 -m 选项都不用,直接给出标签名字即可:
xiaosi@yoona:~/code/learningnotes$ git tag v1.0.3
xiaosi@yoona:~/code/learningnotes$ git tag
r-000000-000000-cm.cm
v1.0.0
v1.0.1
v1.0.2
v1.0.3
现在运行 git show 查看此标签信息,就只有相应的提交对象摘要:
xiaosi@yoona:~/code/learningnotes$ git show v1.0.3
commit 2274f5e988b9300d9103a6be230d19ee945ff575
Author: jifeng.si <jifeng.si@qunar.com>
Date:   Tue Jul 25 13:39:29 2017 +0800
    MOD
    ...
3. 分享标签
默认情况下,git push 并不会把标签传送到远端服务器上,只有通过显式命令才能分享标签到远端仓库。其命令格式如同推送分支,运行 git push origin [tagname] 即可:
xiaosi@yoona:~/code/learningnotes$ git push origin v1.0.0
对象计数中: 1, 完成.
写入对象中: 100% (1/1), 162 bytes | 0 bytes/s, 完成.
Total 1 (delta 0), reused 0 (delta 0)
To git@gitlab.corp.qunar.com:yoona/learningnotes.git
 * [new tag]         v1.0.0 -> v1.0.0
如果要一次推送所有本地新增的标签上去,可以使用 --tags 选项:
xiaosi@yoona:~/code/learningnotes$ git push origin --tags
对象计数中: 3, 完成.
Delta compression using up to 4 threads.
压缩对象中: 100% (3/3), 完成.
写入对象中: 100% (3/3), 258 bytes | 0 bytes/s, 完成.
Total 3 (delta 2), reused 0 (delta 0)
To git@gitlab.corp.qunar.com:jifeng.si/learningnotes.git
 * [new tag]         v1.0.1 -> v1.0.1
 * [new tag]         v1.0.2 -> v1.0.2
 * [new tag]         v1.0.3 -> v1.0.3
4. 删除标签
4.1 删除本地标签
如果本地标签打错了,还没有推送到服务器端,也可以使用如下命令删除标签:
xiaosi@yoona:~/code/learningnotes$ git tag -d v1.0.4
已删除 tag 'v1.0.4'(曾为 2274f5e)
因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。
4.2 删除远程标签
如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除:
xiaosi@yoona:~/code/learningnotes$ git tag -d v1.0.0
已删除 tag 'v1.0.0'(曾为 ddecd72)
然后再从远程删除:
4.2.1 在Git v1.7.0版本之后如下操作
xiaosi@yoona:~/code/learningnotes$ git push origin --delete v1.0.0
To git@gitlab.corp.qunar.com:jifeng.si/learningnotes.git
 - [deleted]         v1.0.0
4.2.2 在Git v1.7.0版本之前如下操作
xiaosi@yoona:~/code/learningnotes$ git push origin :refs/tags/v1.0.0
To git@gitlab.corp.qunar.com:jifeng.si/learningnotes.git
 - [deleted]         v1.0.0
参考:https://git-scm.com/book/zh/v1/Git-%E5%9F%BA%E7%A1%80-%E6%89%93%E6%A0%87%E7%AD%BE
[Git]Git指南一 查看创建删除标签的更多相关文章
- git学习:多人协作,标签管理
		
多人协作: 查看远程库的信息, git remote 推送分支到远程库 git push origin master/dev 注意:master是主分支,时刻需要与远程同步 dev是开发分支,也需要与 ...
 - Git 系列教程(9)- 打标签
		
打标签 一般会给提交历史打个标签,方便后续进行筛选.查看 列出标签 可带上可选的 -l 选项 --list $ git tag v1.0 v2.0 这个命令以字母顺序列出标签 可以按照特定的模式查找标 ...
 - git 创建标签和删除标签
		
创建标签 在Git中打标签非常简单,首先,切换到需要打标签的分支上: $ git branch * dev master $ git checkout master Switched to branc ...
 - studio git创建与删除标签(Tag)
		
代码托管平台 码云 git工具 Git git上的标签一般是用于标记版本, 当发布新版本后,便将该版本的代码打上Tag,用以区别及管理 使用标签前需要将代码提交到马云上 以上是提交git. 创建并提交 ...
 - Git创建和删除标签
		
创建标签 标签是一个让人容易记住的有意义的名字,它跟某个commit绑在一起.在Git中打标签非常简单,首先,切换到需要打标签的分支上,然后,敲命令git tag <name>就可以打一个 ...
 - Git查看、删除、重命名远程分支和tag(转)
		
转:http://zengrong.net/post/1746.htm 这篇文章记录我在使用git的过程中碰到远程分支和tag的相关内容,提纲: 查看远程分支 删除远程分支和tag 删除不存在对应远程 ...
 - Git查看、删除、重命名远程分支和tag【转】
		
转自:http://zengrong.net/post/1746.htm 本站文章除注明转载外,均为本站原创或者翻译. 本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也 ...
 - Git查看、删除、重命名远程分支和tag
		
这篇文章记录我在使用git的过程中碰到远程分支和tag的相关内容,提纲: 查看远程分支 删除远程分支和tag 删除不存在对应远程分支的本地分支 重命名远程分支 把本地tag推送到远程 获取远程tag ...
 - Git查看、删除远程分支和tag
		
本站文章除注明转载外,均为本站原创或者翻译. 本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商: 本站部分原创和翻译文章提供markdown格式源码,欢迎使 ...
 
随机推荐
- 华为大数据项目fusionInsight
			
项目简述:基于开源Hadoop2.0架构的集群网络,进行海量数据的分布式计算.由于Hadoop集群规模不断扩大,而搭建一个同等规模的测试集群需要一笔昂贵的开销.目前有100台左右物料,期望预测计算节点 ...
 - django【orm操作】
			
一.ORM表结构 class Publisher(models.Model): name = models.CharField(max_length=30, verbose_name="名称 ...
 - CNN学习笔记:正则化缓解过拟合
			
CNN学习笔记:正则化缓解过拟合 过拟合现象 在下图中,虽然绿线完美的匹配训练数据,但太过依赖,并且与黑线相比,对于新的测试数据上会具有更高的错误率.虽然这个模型在训练数据集上的正确率很高,但这个模型 ...
 - Hive2.2.1概述(待重写)
			
概述 hive 是一个包裹着 hdfs 的壳子,hive 通过 hql,将 sql 翻译成 MR ,进行数据查询. Hive是⼀个构建在Hadoop之上的数据仓库 hive的数据存在hdfs上,元信息 ...
 - hadoop23---自定义rpc架构(duboo的原理)
 - dirname和shell常用命令
			
$ cd `dirname $0` 和PWD%} 显示当前目录名称${#var} 替换为变量字符个数特殊变量$ 当前SHELL的PID? 前一个命令的退出状态! 后台执行的上 ...
 - EasyUI中datagrid双击事件
			
EasyUI中datagrid双击事件 在jsp文件底部增加代码: <script type="text/javascript"> //数据表双击事件 $('#tabl ...
 - 纯CSS3滑动开关按钮
			
在线演示 本地下载
 - Linux下挂载windows的共享文件夹
			
环境说明: 由于领导要求:现需要将某Linux服务器下的一个文件移动到某windows服务器下(服务器均在机房托管,要远程操作) 由于操作为一次性,则决定在windows下建立一个共享文件夹,linu ...
 - mkfs.ext4 磁盘分区
			
在linux上格式化一个磁盘分区时,出现如下错误 root@d:~# mkfs.ext4 /dev/sdb1 mke2fs 1.41.12 (11-May-2015) mkfs.ext4: inode ...