Git版本控制Tag管理


tag定义

我们可以创建一个tag来指向软件开发中的一个关键时期,比如版本号更新的时候可以建一个“v2.0”、“v3.1”之类的标签,这样在以后回顾的时候会比较方便。 tag的使用很简单,主要操作有:查看tag、创建tag、验证tag以及共享tag。

查看tag

// 查看tag,列出所有tag,列出的tag是按字母排序的,和创建时间没关系。
$ git tag
v0.1
v1.3
// 查看指定版本的tag,git tag -l “v1.4.2.**”
$ git tag -l 'v1.4.2.*'
v1.4.2.1
v1.4.2.2
v1.4.2.3
v1.4.2.4

显示tag信息

//显示指定tag的信息
$ git show v1.4
tag v1.4
Tagger: Scott Chacon <schacon@gee-mail.com>
Date:   Mon Feb 9 14:45:11 2009 -0800

my version 1.4

commit 15027957951b64cf874c3557a0f3547bd83b3ff6
Merge: 4a447f7... a6b4c97...
Author: Scott Chacon <schacon@gee-mail.com>
Date:   Sun Feb 8 19:02:46 2009 -0800

    Merge branch 'experiment'

创建tag

// 创建轻量级tag:这样创建的tag没有附带其他信息
git tag v1.0
// 创建带信息的tag:-m后面带的就是注释信息,这样在日后查看的时候会很有用
git tag -a v1.0 -m 'first version'

共享tag

我们在执行 git push 的时候,tag是不会上传到服务器的,比如现在的github,创建 tag 后 git push ,
在github网页上是看不到tag 的,为了共享这些tag,运行以下命令:

// 指定保tag版本
git push origin v1.0

// 将所有tag 一次全部push到github上
git push origin --tags

删除tag

// 删除本地tag
git tag -d v0.0.1

// 删除github远端的指定tag
git push origin :refs/tags/v0.0.1

创建一个基于指定tag的分支

git checkout -b tset v0.1.0

使用git checkout tag即可切换到指定tag,例如:git checkout v0.1.0

切换到tag历史记录会处在分离头指针状态,这个时候修改是很危险的,在切换回主线时如果没有合并,之前的修改提交基本都会丢失,如果需要修改可以尝试git checkout -b branch tag创建一个基于指定tag的分支,例如:git checkout -b tset v0.1.0 这个时候就会在分支上进行开发,之后可以切换到主线合并.

转载自 https://www.jianshu.com/p/36202c29e6ae


欢迎关注微信公众号:【皮卡战记】

皮卡战记

文章作者: Pikaman
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Pikaman !
评论
 上一篇
【转载】RocketMQ 分享全纪实 【转载】RocketMQ 分享全纪实
转载自 https://www.jianshu.com/p/78076f383c00 为什么分享 RocketMQ为什么没有选择 Kafka 而是 RocketMQ 呢,没有什么特别的原因,单纯是我之前就看过一点 RocketMQ 的源
2020-05-19
下一篇 
Go语言基于双向链表实现LinkedList Go语言基于双向链表实现LinkedList
数据结构及函数主要参考Java的LinkedList.java的实现进行封装,以下为具体的数据结构,以及提供可直接使用的函数。 数据结构LinkedList type LinkedList struct { size int
2020-05-15
  目录