Git中tag标签的使用

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

一、什么是tag

tag是git版本库的一个标记,指向某个commit的指针。

tag主要用于发布版本的管理,一个版本发布之后,我们可以为git打上 v.1.0.1 v.1.0.2 ...这样的标签。

tag感觉跟branch有点相似,但是本质上和分工上是不同的:

tag 对应某次commit, 是一个点,是不可移动的。
branch 对应一系列commit,是很多点连成的一根线,有一个HEAD 指针,是可以依靠 HEAD 指针移动的。
所以,两者的区别决定了使用方式,改动代码用 branch ,不改动只查看用 tag。
tag 和 branch 的相互配合使用,有时候起到非常方便的效果,例如:已经发布了 v1.0 v2.0 v3.0 三个版本,这个时候,我突然想不改现有代码的前提下,在 v2.0 的基础上加个新功能,作为 v4.0 发布。就可以检出 v2.0 的代码作为一个 branch ,然后作为开发分支。

二、tag的简单使用

1.创建tag:

创建 tag 是基于本地分支的 commit,而且与分支的推送是两回事,就是说分支已经推送到远程了,但是你的 tag 并没有,如果把 tag 推送到远程分支上,需要另外执行 tag 的推送命令。

git tag <tagName> //创建本地tag

git push origin <tagName> //推送到远程仓库

若存在很多未推送的本地标签,你想一次全部推送的话:

git push origin --tags

以上是基于本地当前分支的最后的一个commit 创建的 tag ,但是如果不想以最后一个,只想以某一个特定的提交为tag ,也是可以的,只要你知道commit 的id。

git log --pretty=oneline //查看当前分支的提交历史 里面包含 commit id

git tag -a <tagName> <commitId>

2.查看标签

查看本地某个 tag 的详细信息:

git show <tagName>

查看本地所有 tag:

git tag 或者 git tag -l

查看远程所有 tag:

git ls-remote --tags origin

3.删除标签

本地 tag 的删除:

git tag -d <tagName>

远程 tag 的删除:

git push origin :refs/tags/<tagName>

如下所示:

git tag -d 12345    #删除本地记录
git push origin :refs/tags/12345    #删除远程记录

把本地tag 推送到远端:

git push origin :<tagName>

这里感谢读者反馈指出问题

4.检出标签

git checkout -b <branchName> <tagName>

因为 tag 本身指向的就是一个 commit,所以和根据commit id 检出分支是一个道理。

但是需要特别说明的是,如果我们想要修改 tag检出代码分支,那么虽然分支中的代码改变了,但是 tag标记的 commit还是同一个,标记的代码是不会变的,这个要格外的注意。

其它

命令git tag -a <tagname> -m "XXX..." 可以指定标签信息。

命令git tag -a v0.1.0 -m "release 0.1.0 version" 创建附注标签。

命令git checkout [tagname] 切换标签。

### 如何在 IntelliJ IDEA 中使用 Git 创建和管理 Tag 标签 #### 使用图形界面创建标签 为了在 IntelliJ IDEA 中给特定的提交打上标签,可以通过图形化用户界面轻松实现这一目标。 打开项目的版本控制工具窗口,导航至 `Log` 选项卡查看历史提交记录。找到想要标记的提交,右键点击该提交条目,在弹出菜单中选择 `Tag...` 命令[^1]。此时会弹出对话框提示输入新标签名称以及可选的消息描述,填写完毕确认即可完成标签创建过程[^2]。 #### 利用命令行方式创建标签 除了上述方法外,也可以直接利用终端执行 Git 命令来进行更灵活的操作。对于那些习惯于命令行或者需要批量处理的情况特别有用。 假设当前位于项目根目录下,先通过 `$ git log --pretty=oneline` 来浏览所有提交的历史信息以便定位到具体要标注的位置。接着针对选定的目标提交哈希值运行如下指令来为其附加轻量级或带注解类型的标签: ```bash $ git tag -a v1.2 c90073d ``` 这条语句表示为 ID 为 `c90073d` 的那次变更添加了一个名为 `v1.2` 的有备注说明的新标签。 #### 浏览已有的标签列表 无论采用哪种手段设置了新的标签之后,都可以随时查阅现有的全部标签情况。这有助于了解整个工程的不同里程碑节点分布状况。 进入 VCS 菜单下的 `Git -> Show Tags` 功能项能够快速展示所有可用标签;另外还可以借助命令行中的 `$ git tag` 获取同样的效果。 #### 推送本地标签至远程仓库 当完成了本地标签定义工作后,如果希望其他协作者也能看到这些新增加的内容,则需记得推送更新上去。同样有两种途径可以选择——GUI 或者 CLI。 对于前者来说,只需再次回到 `VCS -> Git -> Push...` ,按照向导指示操作直至成功上传为止;而后者则简单得多,仅需一条简单的命令就能搞定: ```bash $ git push origin --tags ``` 以上就是关于如何在 IntelliJ IDEA 环境里运用 Git 工具集有效管理和维护代码库内各个重要时刻的方法介绍[^4]。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值