git tag介绍
我们常常在代码发版时,使用git 创建一个tag ,这样一个不可修改的历史代码版本就像被我们封存起来一样,不论是运维发布拉取,或者以后的代码版本管理,都是十分方便的。
git的tag功能
git 下打标签其实有2种情况
轻量级的:它其实是一个独立的分支,或者说是一个不可变的分支.指向特定提交对象的引用
带附注的:实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证,电子邮件地址和日期,一般我们都建议使用含附注型的标签,以便保留相关信息
所以我们推荐使用第二种标签形式
一、创建tag
创建本地标签
1、创建轻量标签
轻量标签指向一个发行版的分支,其只是一个像某commit的引用,不存储名称时间戳及标签说明等信息。定义方法如下
git tag <版本号>-light
2、创建带附注标签
相对于轻量标签,附注标签是一个独立的标签对象,包含了名称时间戳以及标签备注等信息,同时指向对应的commit。定义方法如下
git tag -a <版本号> -m "<备注信息>"
3、
同时我们也可以像特定的commit添加标签,使用该commit对应的SHA值即可
git tag -a <版本号> <SHA值> -m "<备注信息>"
比如 git tag -a 1.0.0 0c3b62d -m "Release Edition v1.0.0" 就是为SHA为0c3b62d的这次提交打了1.0发行版的tag
二、推送标签
推送所有标签
git push origin --tags
推送指定版本的标签
git push origin <版本号>
三、查看tag
1、查看所有的tag
git tag
要显示附注信息,我们需要用 show 指令来查看
2、查看某个tag
git show tag版本号
比如:git show V1.2
扩展:
查看分支 1、查看所有分支 git branch -a 2、查看远程分支[分支、tag ] git ls-remote
四、删除tag
删除git tag分支
1、批量删除本地tag
git tag | xargs -I {} git tag -d {}
2、批量删除远程tag
git tag | xargs -I {} git push origin :refs/tags/{}
命令说明 grep -v -E 排除master 和 dev -v 排除 -E 使用正则表达式 xargs 将前面的值作为参数传入 git branch -D 后面 -I {} 使用占位符 来构造 后面的命令
扩展:
删除git分支 1、批量删除本地分支 git branch -a | grep -v -E 'master|dev' | xargs git branch -D 2、批量删除远程分支 git branch -r| grep -v -E 'master|dev' | sed 's/origin\///g' | xargs -I {} git push origin :{} 如果有些分支无法删除,是因为远程分支的缓存问题,可以使用git remote prune
您的资助是我最大的动力!
金额随意,欢迎来赏!