博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
git 打标签并推送tag到托管服务器
阅读量:4108 次
发布时间:2019-05-25

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

转自

http://yijiebuyi.com/blog/007269d04d5096d9397ce3daf9d84c48.html

今天和大家分享下用 git 给代码打标签的小功能.

关于git 的另外一篇分支管理 

我们常常在代码封板时,使用git 创建一个tag ,这样一个不可修改的历史代码版本就像被我们封存起来一样,不论是运维发布拉取,或者以后的代码版本管理,都是十分方便的.

首先我们了解下 git 的 tag 功能:

git 下打标签其实有2种情况

(1): 轻量级的

它其实是一个独立的分支,或者说是一个不可变的分支.指向特定提交对象的引用.

(2):带附注的

实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证,电子邮件地址和日期,一般我们都建议使用含附注型的标签,以便保留相关信息.

所以我们推荐使用第二种标签形式.

创建标签:

 zhangzhi@moke:~/code/demo$git tag -a V1.2 -m 'WebSite version 1.2'

上面的命令我们成功创建了本地一个版本 V1.2 ,并且添加了附注信息 'WebSite version 1.2' 

查看标签:

zhangzhi@moke:~/code/demo$ git tagV1.0V1.1V1.2

我们看到本地有3个标签,最下面的 V1.2 就是刚才提交的,但是没有显示出来我们附注信息.

要显示附注信息,我们需要用 show 指令来查看.

zhangzhi@moke:~/code/demo$ git show V1.2tag V1.2Tagger: zhangzhi 
Date:   Wed Jul 21 18:42:35 2015 +0800WebSite version 1.2commit 853cecc248756d0189d2a328dc22fa6781a65265Merge: 1f23b2b 00cfb5bAuthor: zhangzhi 
Date:   Wed Jul 21 18:38:36 2015 +0800    Merge branch 'master' into test

上面显示出来了 V1.2 标签的所有提交信息.

但是目前这个标签仅仅是提交到了本地git仓库.如何同步到远程代码库

tag 远程推送:

zhangzhi@moke:~/code/demo$git push origin --tags

这样我们就把本地版本推送到了远程代码仓库.

如果刚刚同步上去,你缺发现一个致命bug ,需要重新打版本,现在还为时不晚.

删除标签:

zhangzhi@moke:~/code/demo$git tag -d V1.2

到这一步我们只是删除了本地 V1.2的版本,可是线上V1.2的版本还是存在,如何办?

这时我们可以推送的空的同名版本到线下,达到删除线上版本的目标:

zhangzhi@moke:~/code/demo$git push origin :refs/tags/V1.2

这时本地和远程的 V1.2 版本已经被我们移除掉.

如何获取远程版本:

zhangzhi@moke:~/code/demo$git fetch origin tag V1.2

这样我们可以精准拉取指定的某一个版本.适用于运维同学部署指定版本.

转载地址:http://bmpsi.baihongyu.com/

你可能感兴趣的文章
一步步开发 Spring MVC 应用
查看>>
python: extend (扩展) 与 append (追加) 的差别
查看>>
「译」在 python 中,如果 x 是 list,为什么 x += "ha" 可以运行,而 x = x + "ha" 却抛出异常呢?...
查看>>
谷歌阅读器将于2013年7月1日停止服务,博客订阅转移到邮箱
查看>>
浅谈JavaScript的语言特性
查看>>
薪资的意义
查看>>
关于冒泡排序,选择排序,插入排序和快速排序
查看>>
Java面试遇到的问题总结
查看>>
jrtplib接收数据视频花屏问题
查看>>
【转载】如何用C语言封装 C++的类,在 C里面使用
查看>>
剖析Linux系统中硬链接与软链接的区别
查看>>
解压命令
查看>>
linux之cp/scp命令
查看>>
scanf返回值
查看>>
函数指针和指针函数
查看>>
C语言struct复制问题
查看>>
分布式文件系统
查看>>
GDB 命令详细解释
查看>>
分布式系统的数据结构
查看>>
vimrc配置(每次找都很麻烦)
查看>>