博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Git系列笔记之五:标签管理
阅读量:6431 次
发布时间:2019-06-23

本文共 2823 字,大约阅读时间需要 9 分钟。

hot3.png

当我们需要提交一个软件版本时,可以往这个版本上打一个标签,以后可以按照某个标签来取回某个版本的代码,实际上标签就是一个软件版本的快照。

标签实际上是一个指向某个commit的指针,跟分支很像,但分支可以移动,而标签却不能。

创建标签

首先,我们应该切换到需要打标签的分支上

git branch* dev  mastergit checkout masterSwitched to branch 'master'Your branch is up-to-date with 'origin/master'.

然后,我们可以使用git tag v1.0这样的命令来创建一个标签

git tag v1.0

使用git tag命令来查看所有标签

git tag

上面的操作是默认的,也就是当前最新的提交上,如果想要给历史版本打上标签,就必须找到历史提交的commit id

git log --pretty=oneline --abbrev-commit 4b2bea2 merge fix88 branch's modifyed601da8d 在fix88分支上修复了一个bug3d3cc43 merge with no-ffa75a84c modifyed on dev branchd057d79 conflict fixed08ae6f3 modifyed on master branchcec715d modifyed and commit on fea branch8d4576f test on bra branch62a6606 delete test.txt96d9332 add test.txt469e0de 这是我第二次修改,向index.html里添加了一个p标签并写入内容1fb9ecb 这是我第一次修改,向index.html里添加了一个p标签并写入内容a1a356d 新建index.html文件,这是第一次提交到仓库

比如,我们想要在第二次修改的地方打上标签,那么它对应的commit id就是 469e0de,下面来敲入命令:

git tag v0.1 469e0de

我们再次使用git tag命令来查看标签列表

git tagv0.1v1.0

我们可以使用git show <tagname>命令来查看标签信息

git show v0.1commit 469e0dee7484aecadc303dea96aca3b05fcab718Author: kaindy7633 
Date: Wed Mar 16 15:28:47 2016 +0800 这是我第二次修改,向index.html里添加了一个p标签并写入内容diff --git a/index.html b/index.htmlindex 00e3fba..de4f7cf 100644--- a/index.html+++ b/index.html@@ -6,5 +6,6 @@

这是我向这个HTML文件加入的第一个P标签。

+

这是我向这个HTML文件加入的第二个p标签。

我们还可以为标签打上一段说明,使用-a参数指定标签名,-m参数指定标签说明

git tag -a v0.2 -m "add for fea branch" cec715d

继续使用git show <tagname>查看

git show v0.2tag v0.2Tagger: kaindy7633 
Date: Thu May 5 18:24:55 2016 +0800add for fea branchcommit cec715de12320fe1169c083c722e572685750144Author: kaindy7633
Date: Fri Mar 18 10:41:18 2016 +0800 modifyed and commit on fea branchdiff --git a/index.html b/index.htmlindex bf6b036..b7720b4 100644--- a/index.html+++ b/index.html@@ -8,5 +8,6 @@

这是我向这个HTML文件加入的第一个P标签。

这是我向这个HTML文件加入的第二个p标签。

这条修改是在bra分支上进行的,添加了第三个p标签

+

这条修改是在fea分支上进行的,添加了第四个p标签

操作标签

如果标签打错了,也是可以删除的,标签都是存储在本地的

git tag -d v0.1Deleted tag 'v0.1' (was 469e0de)

如果想要把本地标签推送到远程,可以使用git push origin <tagname>命令

git push origin v1.0Total 0 (delta 0), reused 0 (delta 0)To git@github.com:kaindy7633/gitTest.git * [new tag]         v1.0 -> v1.0

或者,我们可以一次把所有未推送到远程的标签推送到远程,使用命令git push origin --tags

git push origin --tagsCounting objects: 1, done.Writing objects: 100% (1/1), 161 bytes | 0 bytes/s, done.Total 1 (delta 0), reused 0 (delta 0)To git@github.com:kaindy7633/gitTest.git * [new tag]         v0.2 -> v0.2

如果标签已推送到远程,而又要删除,则会有点麻烦,先删除本地标签

git tag -d v0.2Deleted tag 'v0.2' (was d6683cf)

然后从远程删除,命令也是使用push

git push origin :refs/tags/v0.2Warning: Permanently added the RSA host key for IP address '192.30.252.120' to the list of known hosts.To git@github.com:kaindy7633/gitTest.git - [deleted]         v0.2

转载于:https://my.oschina.net/u/2399867/blog/670368

你可能感兴趣的文章
利用Filter和拦截器,将用户信息动态传入Request方法
查看>>
JavaScript中的Array.prototype.sort方法详解
查看>>
JS动画之缓动函数分析及动画库
查看>>
漂亮的 Django Markdown 富文本 app 插件
查看>>
nodejs 多版本管理
查看>>
javascript的一些理解
查看>>
Mac OS 使用移动应用抓包调试利器 Charles
查看>>
技术大咖云集 GIAC 2017全球互联网架构大会圆满落幕
查看>>
【源码分析】AsyncTask源码分析
查看>>
JavaScript中的this
查看>>
前端开发——让算法"动"起来
查看>>
CircleCI 2.0持续集成Jekyll
查看>>
小白成长日记:一步一步写个轮播图插件
查看>>
阅读笔记分享:代码重写和函数编写
查看>>
简单的nodejs群聊天通讯
查看>>
不用Forge Viewer的API获取模型的层次结构以及构件的DbId
查看>>
自定义systemctl管理服务(redis)
查看>>
利用PHP实现常用的数据结构之链表(小白系列文章五)
查看>>
在Github Pages上建立Jekyll博客
查看>>
【255天】跃迁之路——程序员高效学习方法论探索系列(实验阶段13-2017.10.18)...
查看>>