tag 标签

这篇具有很好参考价值的文章主要介绍了tag 标签。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

tag 标签

在使用 Git 版本控制的过程中,会产生大量的版本。如果我们想对某些重要版本进行记录,就可以给仓库历史中的某一个commit 打上标签,用于标识。

在本章中,我们将会学习如何列出已有的标签、如何创建和删除新的标签、以及标签的类型。

基本概念

事实上,标签只是用来记录某一个「commit 对象」的 hash 值,以一个比较好记的名称来帮助我们记住某个版本。

Git 支持两种标签:轻量标签(lightweight)与附注标签(annotated)。

tag 相关的文件在 .git/refs/tag 文件夹中,文件名就是 tag 名。

轻量标签

轻量标签很像一个不会改变的分支 —— 它只是某个特定「commit 对象」的引用。

tag 标签,git,git

tag 标签,git,git

但是如果我们通过 git cat-file -p <tagName> 来查看标签的内容,就会发现内容其实是一个「commit 对象」,这就是前面提到的轻量标签只是某个特定「commit 对象」的引用,最终还是会指向这个「commit 对象」:

tag 标签,git,git

附注标签

而标注标签则是一个 git 对象,在 git 中的概念 文章介绍了 Git 中存在的 4 种对象。

附注标签对象包含打标签者的名字、电子邮件地址、日期时间, 此外还有一个标签信息,并且可以使用 GNU Privacy Guard (GPG)签名并验证。

通常会建议创建附注标签,这样我们可以拥有以上所有信息,并且可以永久保存在 .git 文件夹中(储存到仓库中的 Git 对象都是不变的,只有索引才是变动的)。但是如果我们只是想用一个临时的标签, 或者因为某些原因不想要保存这些信息,那么也可以用轻量标签。

tag 标签,git,git

从上图可以看到 beta-v1.1 文件的内容与最新「commit 对象」的 hash 值不同,这时通过 cat-file 命令就可以发现这个 hash 值对应的是一个「tag 对象」:

tag 标签,git,git

可以看到「tag 对象」内存在一个对象 hash 值,就是最新「commit 对象」的 hash 值,第二行的 type commit 就是介绍上一行的对象的类型是一个「commit 对象」,这代表我们也可以把任何 Git 对象都建立成一个标签对象。

git tag <tagName> -a 会将当前的 HEAD 指针指向的版本建立成「tag 对象」,如果要将其他特定对象建立为标签的用法为 git tag <tagName> <hashId>

创建标签

创建标签的命令非常简单,就是 git tag <tagName>,不过这是创建轻量标签的方式,如果要创建附注标签则需要带上 -a 参数,同时还要跟 commit 命令一样带上 -m 参数指定了一条将会存储在标签中的信息,如果没有为附注标签指定一条信息,Git 会启动编辑器要求我们输入信息(如果只有使用 -m 参数时 Git 会默认把 -a 也帮我们加上)。

tag 标签,git,git

为之前的版本创建版本

git tag <tagName> 命令都是在当前的 HEAD 指针指向的版本进行标记,如果我们想要为之前的版本进行标记,可以在命令后面加上 <hashId>。

tag 标签,git,git

假设我们要为第一次的 commit 添加一个标签,可以执行 git tag -a <tagName> <hashId>,例如git tag -a beta-v0.0 8954

tag 标签,git,git

查看标签

使用 git tag 可以查看所有的标签:

tag 标签,git,git

按照通配符列出标签需要 -l 或 --list 选项

如果我们只想要完整的标签列表,那么运行 git tag 就会默认假定我们想要一个列表,它会直接给我们列出来, 此时的 -l 或 --list 是可选的。

然而,如果我们提供了一个匹配标签名的通配模式,那么 -l 或 --list 就是强制使用的。

而使用 git show <tagName> 命令就可以查看某个标签的具体信息:

tag 标签,git,git

删除标签

要删除掉我们本地仓库上的标签,可以使用命令 git tag -d <tagName>:

tag 标签,git,git

注意上述命令并不会从任何远程仓库中移除这个标签

推送标签

新增

默认情况下,git push 命令并不会传送标签到远程仓库上。 在创建完标签后我们必须显式地推送标签到远程仓库。 这个过程就像推送分支一样 —— 我们可以运行 git push origin <tagName>。

tag 标签,git,git

如果想要一次性推送很多标签,也可以使用 git push origin --tags (带上 --tags 参数)。 这将会把所有不在远程仓库上的标签全部推送上去。

tag 标签,git,git

删除

跟新增标签一样,我们在删除标签时,也只是在本地仓库上进行操作,也需要推送到远程仓库中才能删除远程仓库中的标签:

使用 git push origin --delete <tagName> 命令即可:

tag 标签,git,git

签出标签

如果我们想查看某个标签所指向的文件版本,可以使用 git checkout <tagName> 命令, 但是这会使我们的仓库处于“分离头指针(detached HEAD)”的状态,在这种状态下,如果我们做了某些更改然后提交它们,标签不会发生变化, 但我们的新提交将不属于任何分支,并且将无法访问,除非通过确切的 hash 值才能访问。 因此,如果我们需要进行更改,比如我们要修复旧版本中的错误,那么通常需要创建一个新分支:

tag 标签,git,git

若想查询 git tag 的完整用法,可执行 git help tag 即可显示完整的文件说明。

地址

文章仓库地址:https://github.com/leopord-lau/easy-git文章来源地址https://www.toymoban.com/news/detail-814203.html

到了这里,关于tag 标签的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git 开源的版本控制系统-05-tags 标签管理

    创建标签 git tag 标签名 [提交ID] 显示标签 git tag 显示标签详细信息 git show 标签名 添加包含信息的标签 git tag -a 标签名 -m \\\"信息\\\" 提交ID 添加带有 PGP 签名的标签 git tag -s 标签名 -m \\\"签名\\\" 管理标签 移除本地标签 git tag -d 标签名 移除远程标签 git push origin :refs/tags/标签名 本文由博

    2024年03月09日
    浏览(35)
  • tag 标签

    在使用 Git 版本控制的过程中,会产生大量的版本。如果我们想对某些重要版本进行记录,就可以给仓库历史中的某一个commit 打上标签,用于标识。 在本章中,我们将会学习如何列出已有的标签、如何创建和删除新的标签、以及标签的类型。 事实上,标签只是用来记录某一

    2024年01月22日
    浏览(35)
  • Vue3标签(Tag)

    参数 说明 类型 默认值 必传 closable 标签是否可以关闭 boolean false false color 标签颜色,预置多种常用颜色: \\\'success\\\' , \\\'processing\\\' , \\\'error\\\' , \\\'warn\\\' , \\\'pink\\\' , \\\'red\\\' , \\\'yellow\\\' , \\\'orange\\\' , \\\'cyan\\\' , \\\'green\\\' , \\\'blue\\\' , \\\'purple\\\' , \\\'geekblue\\\' , \\\'magenta\\\' , \\\'volcano\\\' , \\\'gold\\\' , \\\'lime\\\' string ‘’ false icon 设置图标 stri

    2024年02月16日
    浏览(34)
  • ElementUI浅尝辄止16:Tag 标签

    用于标记和选择。 动态编辑标签可以通过点击标签关闭按钮后触发的  close  事件来实现 Tag 组件提供除了默认值以外的三种尺寸,可以在不同场景下选择合适的按钮尺寸。 Tag 组件提供了三个不同的主题: dark 、 light  和  plain  

    2024年02月10日
    浏览(51)
  • dedecms织梦TAG标签显示单个标签共有多少篇文章的方法

    我们在进行织梦dedecms模板设计的时候,想实现tag的链接和tag名的同时,还能显示每个tag关联的文章的数量。 但是织梦默认没有这样的标签来调用,这就需要我们自己对系统文件进行修改来实现了,具体方法如下: 找到并打开/include/taglib/tag.lib.php这个文件,找到第87行左右的

    2024年02月02日
    浏览(47)
  • 誉天在线项目~ElementPlus Tag标签用法

    2024年02月09日
    浏览(35)
  • dedecms如何实现tag标签伪静态的方法

    dedecms的tag标签是一个很好管理的功能,通过tag标签可以找到相关的内容。但是dedecms的tag标签系统默认是//www.yii666.net/tags.php?/tag标签/如下图。不利于SEO优化。那么如何将TAGS静态化呢?(即改成//www.yii666.net/tags/1.html)。 这里主要是通过修改调用的标签进行伪静态。

    2024年02月02日
    浏览(47)
  • iOS开发-实现热门话题标签tag显示控件

    iOS开发-实现热门话题标签tag显示控件 话题标签tag显示非常常见,如选择你的兴趣,选择关注的群,超话,话题等等。 由于显示的是在列表中,这里整体控件是放在UITableViewCell中的。 2.1 标签tag按钮实现 自定义标签tag按钮INRmdTopicButton INRmdTopicButton.h INRmdTopicButton.m 2.2 显示排列

    2024年02月14日
    浏览(50)
  • unity的使用心得——标签Tag的作用及修改方法

    在Unity中,标签是用来给游戏对象、材质等资源打上标记,方便开发者对它们进行分类、搜索、筛选等操作的一种机制。 Unity默认提供了一些常用的标签,例如“Untagged”、“Player”、“MainCamera”等。你也可以自定义标签,并给游戏对象等资源打上这些标签,从而方便管理和

    2024年02月05日
    浏览(41)
  • dede列表页调用当前文章内TAG标签的方法

    首先打开DEDECMS根目录 include/common.func.php,找到在最底部 ? 前面加入以下代码: 然后在文章页可以使用: {dede:field.id function=”listtag(@me)”/} 来调用TAG标签,在列表页可以使用: [field:id function=\\\"listtag(@me)\\\"/] ok,你已经成功通过以上方法,成功解决dede列表页调用文章tag标签。 本文

    2024年02月16日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包