Git Tag 的使用

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当作一个分支使用即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Git中,`tag`是一个非常有用的工具,用于标记代码库中的特定提交点,通常代表一个功能版本、里程碑或其他重要标识。下面是使用`git tag`的基本步骤: 1. **查看当前已有标签**: ```sh $ git tag ``` 2. **创建一个新的标签**: 当你要为某个提交打上标签时,首先找到对应的SHA哈希值(可以使用`git log`查看),然后执行: ```sh $ git tag -a <tag_name> -m "描述这个版本的信息" <commit_hash> ``` `-a`表示附带注释,`<tag_name>`是你自定义的标签名,`<commit_hash>`是要标记的提交。 3. **推送标签到远程仓库**: 如果你想在GitHub等远程仓库共享这个标签,你需要先将本地的改动推送到远程: ```sh $ git push origin --tags ``` 4. **检查或引用标签**: 可以通过`git checkout <tag_name>`切换到指定的版本,或者在拉取请求或分支合并时引用一个已有的标签作为依据。 5. **删除标签**: 如果不再需要某个标签,可以使用: ```sh $ git tag -d <tag_name> ``` 注意删除远程标签需要额外一步操作,通常是先从远程移除再从本地删除。 6. **列出所有与某次提交相关的标签**: 如果想知道哪个标签指向了特定的提交,可以用: ```sh $ git show-ref --tags --dereference <commit_hash> ``` 相关问题-- 1. 怎么查看本地的所有标签? 2. 如何给最新提交打标签? 3. 在协作项目中如何同步远程和本地的标签? 4. 如何查看与特定提交关联的标签信息?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值