Git命令之tag标签管理
1.列出标签
git tag # 在控制台打印出当前仓库的所有标签
2.打标签
git标签分为两种类型:轻量标签和附注标签。轻量标签是指向提交对象的引用,附注标签则是仓库中的一个独立对象。建议使用附注标签。
# 创建轻量标签
git tag v1.0-light
# 创建附注标签
git tag -a v1.0 -m "1.0版本"
创建轻量标签不需要传递参数,直接指定标签名称即可。创建附注标签时,参数a即annotated的缩写,指定标签类型,后附标签名。参数m指定标签说明,说明信息会保存在标签对象中。
3.切换到标签
git checkout [tagname]
4.查看标签信息
git show v1.0
5.标签推送到远程
如果要推送某个标签到远程:
git push origin <tagname>
也可以一次性推送全部尚未推送到远程的本地标签
git push origin --tags
6.删除标签
命令场景:误打或需要修改标签时,可以先将标签删除,再打新标签。
因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。
git tag -d v1.0 # 删除标签,参数d即delete的缩写,意为删除其后指定的标签
如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除
git tag -d v1.0
然后,从远程删除。删除命令也是push,命令格式如下:
git push origin :refs/tags/v1.0
查看是否远程库真正的删除了标签,可以登陆GitHub或Gitlab(公司一般是用这个)查看
7.给指定的commit打标签
默认标签是打在最新提交的commit上的。有时候,如果忘了打标签,比如,现在已经是周五了,但应该在周一打的标签没有打,怎么办? 通过
git log
找到历史提交的commit id,然后打上就可以。
$ git log --pretty=oneline --abbrev-commit
dec3136c (HEAD -> winne, origin/winne) fix: 修改告警通知日志页面的邮件通知日志tab的表格字段
15115987 feat: 新增告警通知日志页面的短信发送日志tab页
ea084abe fix: 修复【通知策略】查询bug
22a10225 fix: 修改【通知策略管理】全部系统的操作
93890913 fix: 删除IVR通知策略页面的告警对象中的操作符选项
f96e539d fix: 修改告警配置中批量管理导入列表的字段;同步未配置的批量管理功能
b48cddf2 feat: 对接告警配置页面的批量配置相关接口;调整屏蔽规则列表页面细节功能
比方说要对修改【通知策略管理】全部系统的操作这次提交打标签,它对应的commit id是22a10225,敲入命令:
git tag v1.0 22a10225
注:此文内容参考https://blog.youkuaiyun.com/jiaofeng_hou/article/details/78793854