Git Tag 的使用

本文介绍Git中的标签管理方式,包括轻量级标签与附注标签的区别、创建、查看、过滤及推送标签的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Git 提供了一个叫 tag的东西,即标签。

作用

每一次commit都会生成一串字符ID,如下所示:

commit 7f2de2b2560e5d0623d64ef56f2128ed4ab532e0

这在正常的开发流程中没有什么问题,也不会去关心,但是等我们要发布的时候,或者已经发布了几个版本之后,要找回之前发布的版本到底是在哪个提交呢?

记住这串id吗? No way! 标签 (tag) 的作用就在这里了。

使用

在Git中tag有两种,一种叫轻量标签,一种叫附注标签。

  • 轻量标签:只是对某次提交的一个引用,也就是说,也就是一串比较好记的id。
  • 附注标签:是一个独立的对象,也就是说会存有一分独立的代码,类似一个分支。

对于我们在项目中来说,使用附注标签肯定更靠谱一点。

轻量标签
git tag v0.0.1
附注标签
git tag -a v0.0.1 -m "Version One"

-a 其实也就是annotated,附注的意思, 而 -m 则指定了说明信息。

显示标签
git tag

v0.1.1
v0.1.2
v0.2.1

还可通过 -l 的参数来过滤展示标签

git tag -l "v0.1.*"

v0.1.1
v0.1.2
查看具体的标签内容
git tag v0.1.1
tag v0.1.1
Tagger: linmiansheng
Date:   Tue Dec 8 11:29:32 2015 +0800

0.0.1 Version on 2015-12-08

commit 0a609b85b2a51fcc54ced9a98b7e525a811c9590
Author: linmiansheng 
Date:   Tue Dec 8 11:26:30 2015 +0800

    bugfix

diff --git a/app/src/main/java/com/Test.java
b/app/src/main/java/com/Test.java
index 47933d1..b83f76e 100644
...
删除标签
git tag -d v0.1.1
推送标签

附注标签就类似分支一样,所以也需要我们使用push命令来进行推送。

  • 单独推送某个标签
git push origin v0.1.1
  • 一次性推送所有标签
git push origin --tag

利用 –tag 参数,可将本地的所有tag都推送到远程服务器上。

其他如checkout操作等,就把tag当作一个分支使用即可。

### 使用 Git 创建和管理标签 #### 创建带说明的标签 为了创建一个带有说明的标签,可以使用 `git tag` 命令并附上 `-a` 和 `-m` 参数。这允许指定标签名称以及附加描述性的消息。具体操作方式如下所示: ```bash $ git tag -a v1.1 -m "my version 1.1" ``` 这条命令会在当前最新提交之上创建名为 `v1.1` 的标注型(tag object)标签,并为其添加注释信息[^1]。 #### 查看已有标签 要查看项目中存在的所有标签,只需执行简单的 `git tag` 命令即可列出它们的名字列表;如果想要更详细的输出,则可加上参数如 `--list` 或者结合其他选项一起使用以获得更多信息。 #### 删除本地标签 当不再需要某个特定版本标记时,可通过下面的方式将其移除: ```bash $ git tag -d v1.0 ``` 此指令仅影响本地仓库中的对应条目,在远程库中仍可能存在相同名字的对象直到同步更新为止[^3]。 #### 关联历史提交与新标签 假设现在希望基于之前的某一确切变更点设立新的里程碑标识,那么应该先定位到目标位置再实施加签动作。例如,给定一系列的历史记录摘要后决定选取其中一条作为参照物建立关联关系: ```bash $ git log --pretty=oneline ee07767 (HEAD -> master, tag: v1.0.0) modified f ff ... c90073d Merge branch 'dev' into master $ git tag -a v1.2 c90073d ``` 这里选择了合并开发分支至主干的那个节点处新增了一个叫做 `v1.2` 的轻量级或是重载形式(取决于是否提供了额外的消息文本)的标签对象[^4]。 #### 推送标签至远端仓库 最后一步是要确保这些自定义设置能够被团队成员共享访问的话就需要推送到公共存储空间里去。对于单个实例而言可以直接指明其全名来进行推送;而若是想一次性上传全部未同步过的则可以用通配简化过程: ```bash # 单独推送一个标签 $ git push origin v1.2 # 同步所有尚未分享出去的新建/修改后的tag $ git push origin --tags ``` 以上就是围绕着Git工具内有关于“标签”的基本概念及其实际应用场景下的常规处理流程介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值