zl程序教程

您现在的位置是:首页 >  其他

当前栏目

git tag 命令详解

2023-02-18 16:33:57 时间

1. 标签介绍


应用场景

当我们发布版本时,通常会先在版本库打一个标签,这个标签就是我们平时所说代码仓库的版本号

标签是版本库的一个快照,但它其实就是指向某个 commit 的指针。所以,创建和删除标签都是瞬间完成的

git 有 commit ,为什么还要引入 tag ?

“请把上周一的那个版本打包发布,commit号是 6a5819e…”

“一串乱七八糟的数字不好找!”

如果换一个办法:

“请把上周一的那个版本打包发布,版本号是v1.2”

“好的,按照tag v1.2查找commit就行!”

所以,tag 就是一个让人容易记住的有意义的名字,它跟某个 commit 绑在一起。

2. 查看标签


# 查看所有标签
git tag
# 一行显示多个标签
git tag --column

3. 创建标签


创建标签

# 基于当前 commit id 创建标签
git tag <tagname>
# 基于指定 commit id 创建标签
git tag <tagname> <commit id>

创建标签并且添加标签描述(如果不带 -m 参数会进入 vi 编辑模式输入标签描述)

# `-a, --annotate` 标签名 `-m, --message` 标签描述
git tag -a <tagname> -m <message>
# 经测试,-a 不写也是可以的
git tag <tagname> -m <message>

使用示例

# 添加标签
git tag v1.0.0
# 创建标签并设置标签描述
git tag v1.0.0 -m '正式上线'
git tag -a v1.0.0 -m '正式上线'

4. 删除标签


如果标签打错了,可以删除标签

因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除

要看看是否真的从远程库删除了标签,可以登录远程仓库查看,比如: Gitee、GitHub

# 删除本地标签
git tag -d v1.0.0
# 删除远程库标签
git push origin :v1.0.0
git push origin :refs/tags/v1.0.0

5. 推送标签


本地标签推送到远程仓库

# 将某个标签推送到远程仓库
git push origin v1.0.0
# 一次性推送全部尚未推送到远程的本地标签
git push origin --tags

6. git show 查看标签


查看标签以及指向的对象。其实就是查看标签的备注和对应的提交记录

git show v1.0.0

查看标签指向的树。其实就是查看标签下的文件

git show v1.0.0^{tree}

查看标签对应提交记录的备注信息

git show -s --format=%s v1.0.0^{commit}