tag有两种类型的标签 :
轻量标签(lightweight):只是某个 commit 的引用,可以理解为是一个 commit 的别名;
附注标签(annotated):是存储在git仓库中的一个完整对象,包含打标签者的名字、电子邮件地址、日期时间以及其他的标签信息。它是可以被校验的,可以使用 GNU Privacy Guard (GPG) 签名并验证。
一、本地tag操作
1 创建tag标签
1.1 创建轻量标签
# 直接给当前的提交版本创建一个【轻量标签】
$ git tag [标签名]
例如:
$ git tag v1.0
# 给指定的提交版本创建一个 【轻量标签】
$ git tag [标签名] [提交版本]
例如:
$ git tag v1.0 5489bac2
1.2 创建附注标签
# 直接给当前的提交版本创建一个 【附注标签】
$ git tag -a [标签名称] -m [附注信息]
# 给指定的提交版本创建一个【附注标签】
$ git tag -a [标签名称] [提交版本号] -m [附注信息]
-a:理解为 annotated 的首字符,表示附注标签;
-m:指定附注信息;
例如:
$ git tag -a v1.0 -m "v1.0.0版本发布"
$ git tag -a v1.0-release 5489bac2 -m "v1.0版本发布"
2 查看tag标签
2.1 查看标签列表
# 查看所有标签列表
$ git tag
# 查看模糊匹配的标签列表
$ git tag -l [*标签名称筛选字符串*]
$ git tag --list [*标签名称筛选字符串*]
例如:
$ git tag -l "*v1.0*"
$ git tag --list "*v1.0*"
2.2 查看标签提交信息
# 查看标签的信息,(轻量标签 和 附注标签 的信息是不一样的)
$ git show [标签名]
2.3 在提交历史中查看标签
$ git log --oneline --graph
3 删除tag标签
$ git tag -d [标签名称]
例如:
$ git tag -d test-1.0
二 远程仓库tag操作
1 推送tag标签到远程仓库
# 将指定的标签上传到远程仓库
$ git push origin [标签名称]
# 将所有不在远程仓库中的标签上传到远程仓库
$ git push origin --tags
例如:
$ git push origin test-1.0
注:默认情况下,git push 命令并不会把标签推送到远程仓库中,必须手动地将 本地的标签 推送到远程仓库中。
2 删除远程仓库tag标签
$ git push origin :regs/tags/[标签名称]
$ git push origin --delete [标签名称]
例如:
$ git push origin :regs/tags/test-1.0
$ git push origin --delete test-1.0
3 检出标签
$ git checkout -b [分支名称] [标签名称]
文章评论