什么是 Git tag,如何打一个 tag

在 Git 中,tag 是指定 Git 历史中某一个节点的引用,一般用于发布版本,比如 v1.0.1。

Tag 有两种:

  1. 注释 Tag(Annotated Tags),这种 Tag 会包含大量的元数据,一般发布公开版本就会使用注释 Tag。
  2. 轻量 Tag(Lightweight Tags),只会包含名字和 commit 节点,一般是私有的,用于快速创建一个 tag,方便内部使用。

创建标签

git tag <tagname>
  1. 创建注释 Tag:
git tag -a v1.4
  1. 创建轻量 Tag:
git tag v1.4-lw

展示所有 Tag

git tag

示例输出:

	v0.10.0
    v0.10.0-rc1
    v0.11.0
    v0.11.0-rc1
    v0.11.1
    v0.11.2
    v0.12.0
    v0.12.0-rc1
    v0.12.1
    v0.12.2
    v0.13.0
    v0.13.0-rc1
    v0.13.0-rc2

可以传递一个匹配符:

git tag -l *-rc*

示例输出:

	v0.10.0-rc1
    v0.11.0-rc1
    v0.12.0-rc1
    v0.13.0-rc1
    v0.13.0-rc2
    v0.14.0-rc1
    v0.9.0-rc1
    v15.0.0-rc.1
    v15.0.0-rc.2
    v15.4.0-rc.3

给任意的节点打 Tag

创建 Tag 时,默认会在当前节点打上 Tag(也就是当前 HEAD 指向的 commit 节点),我们在创建 Tag 时指定 commit 节点:

git tag -a v1.2 15027957951b64cf874c3557a0f3547bd83b3ff6

修改 Tag

我们不能重复创建相同的 Tag,不然会报错:

fatal: tag 'v0.4' already exists

可以传入 -f (Force)去强制修改 Tag:

git tag -a -f v1.4 15027957951b64cf874c3557a0f3547bd83b3ff6

提交 Tag

默认来说,git push 不会把 Tag 推送上去,我们需要手动推送 tag:

git push origin v1.4

多个 tag 的话需要使用 --tags,当推送上去后,其他用户 pull 后就能看到新的 Tag l。

切换 Tag

git checkout v1.4

切换到 Tag 后,对代码做的任何改变都不算到任何分支上,这些改变会算在一个单独分离的 commit,并且只能通过 commit 的 SHA 值去访问。因此,最好还是使用分支去修改代码。

删除 Tag

传入 -d 去删除 Tag

git tag -d v1

REFERENCE

[1] https://www.atlassian.com/git/tutorials/inspecting-a-repository/git-tag

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值