Git 学习(七)标签管理

  

  发布版本时,通常会先在版本库中打一个标签,这样,就唯一确定了打标签时刻的版本。取出某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。

  Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(跟分支雷同,但分支可以移动,标签不可);创建和删除标签都是瞬间完成的。

  本文具体说明 Git 中是如何创建标签及操作标签的。

  

创建标签

Git 标签的命令很简单,首先简单浏览下方的 Git 命令:

git tag                        查看标签

git tag <tag name> <commit id>  创建标签,若无commit id 默认当前

git tag -a <tag name> -m <msg>    创建标签,且添加标签信息

git show <tag name>                      查看标签具体信息

可做一些简单的实践操作,未创建过标签直接用  git tag  显示为空;

在master分支上创建一个 v1.0 的标签,之后查看,如下

默认标签是打在最新提交的commit上的(当前分支快照)。有时候,如果忘了打标签需要补打,需要找到历史提交的commit id,然后打上就可以了。

我们来操作下其他分支下打标签,切换至dev分支(若无,可新建该分支),若在该分支下开发出 v1.1版本,须打v1.1标签,可操作   git tag v1.1

切换至master分支,再次查看,可见

我们在master分支上 commit 两次,并打当前分支为 v2.0,

然而现在,忽然想起之前有次commit需要打上 v1.2 的标签,得补打标签,那如何操作呢?得知道之前那次提交的commit id,  git log  如下

得知 commitid 

注意,标签不能重复打,若已存在,会提示

查看标签内容,如 git show v1.1 , 可见如下,可得知该标签的commit id及与当前版本的差异

创建标签时,可添加备注信息即如  

可用 -s  表示用PGP签名标签,必须首先安装gpg(GnuPG),如果没有找到gpg,或者没有gpg密钥对,就会报错;有关签名方式请自行搜索研究。

git tag -s <tag name> -m <msg>    创建签名标签,且添加标签信息

删除标签

标签若是打错可以直接删除,命令如下:

git tag -d <tag name> -m <msg>    删除标签

如删除 v1.2 标签  

创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。有关远程标签详见下文。

远程标签

正如前文所言,本地的标签不会推送到远程。来看下远程的标签显示,如下 github, 目前该库无任何tags

如果要推送标签到远程,使用命令如下:

git push origin <tag name>         推送某个标签至远程

git push origin --tags             推送所有标签至远程

本地库有三个标签

如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除;再从远程删除。删除命令也是push,但是格式如下:

git push origin :refs/tags/<tagname>             删除远程标签

Git 学习(七)标签管理的更多相关文章

  1. git学习(7)标签管理

    git学习(7)标签管理 1. 建立标签 在发布版本时候,我们通常会在版本库中打一个标签,这样就唯一确定了打标签的版本,有点像个里程碑,这里会有一个指向某个commit的指针 打标签很简单,首先切换到 ...

  2. git 学习笔记 ---标签管理

    发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本.将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来.所以,标签也是版本库的一个快照 ...

  3. 【学习总结】Git学习-参考廖雪峰老师教程七-标签管理

    学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...

  4. Git学习(一) 版本号管理工具

    Git 是一个分布式版本号控制工具.它的作者 Linus Torvalds 是这样给我们介绍 Git  -- The stupid content tracker(傻瓜式的内容跟踪器) 1. Git ...

  5. Git教程之标签管理

    发布一个版本时,我们通常先在版本库中打一个标签,这样,就唯一确定了打标签时刻的版本.将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来.所以,标签也是版本库的一个快照.Git的 ...

  6. git学习——打标签

    打标签 就像某人发布某个软件版本(v1.0)后,一般会给一个标签. Git 使用的标签有两种类型:轻量级的(lightweight)和含附注的(annotated).轻量级标签就像是个不会变化的分支, ...

  7. git学习(七) git的标签

    git的标签操作 git标签操作 git tag 不加任何参数 表示显示标签(按字母序) 非按时间 git tag 标签名 默认是给最近一次提交打上标签 git tag 标签名 commitId 给响 ...

  8. git学习笔记 ---分支管理

    分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇宙合并 ...

  9. 四、git学习之——分支管理、解决冲突

    分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇宙合并 ...

  10. Git学习笔记三--管理修改、撤销修改、删除文件

    1.管理修改 什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改. 为什么说Git ...

随机推荐

  1. linux如何连接移动硬盘

    下载第三方插件的地方: http://www.tuxera.com/community/open-source-ntfs-3g/ 这是具体教程: http://hellopyl.blog.51cto. ...

  2. Python之路【第十一篇】: 进程与线程

    阅读目录 一. cpython并发编程之多进程1.1 multiprocessing模块介绍1.2 Process类的介绍1.3 Process类的使用1.4 进程间通信(IPC)方式一:队列1.5 ...

  3. Git 码云操作

    https://www.cnblogs.com/lanxiang/p/7487971.html 将项目提交到码云 在码云创建项目 然后在项目目录下: 打开后输入: git init 目录下出现.git ...

  4. 六、django rest_framework源码之解析器剖析

    1 绪论 网络传输数据只能传输字符串格式的,如果是列表.字典等数据类型,需要转换之后才能使用但是我们之前的rest_framework例子都没有转换就直接可以使用了,这是因为rest_framewor ...

  5. 基于TensorFlow Serving的深度学习在线预估

    一.前言 随着深度学习在图像.语言.广告点击率预估等各个领域不断发展,很多团队开始探索深度学习技术在业务层面的实践与应用.而在广告CTR预估方面,新模型也是层出不穷: Wide and Deep[1] ...

  6. 【BZOJ 2337】 2337: [HNOI2011]XOR和路径(概率DP、高斯消元)

    2337: [HNOI2011]XOR和路径 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1170  Solved: 683 Description ...

  7. android 实现 view 滑动

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 1,通过view 的  滑动到 方法 或者 通过什么滑动  方法 实现.  适合 视图 ...

  8. C#管理windows服务

    .NET Framework中提供了现成的类库可以很方便的实现对windows服务的安装.卸载.启动.停止.获取运行状态等功能.这些类都在System.ServiceProcess命名空间下. 安装w ...

  9. 课堂练习—hash

    课堂练习-hash 要求: 利用除留余数法为下列关键字集合的存储设计hash函数,并画出分别用开放寻址法和拉链法解决冲突得到的空间存储状态(散列因子取0.75) 关键字集合:85,75,57,60,6 ...

  10. Windows安装绿色版git管理软件GitStack 2.3.8

    1.原来 GitStack  是安装在局域网的,为了更好开展工作,迁移到公网的服务器.(安全性未知) 2.公网服务器已经在运行一个 Apache 2.4 (占用80端口): 3.GitStack 2. ...