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 :<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] 切换标签。

Git:tag标签的使用相关推荐

  1. git tag 标签重命名

    git tag 标签重命名 今天手滑,居然将tag的版本号打错了,偷偷抓紧修改了一下 将v6.2.0重命名为v6.6.2 新版本号:v6.6.2 错误版本号:v6.2.0 参考: https://co ...

  2. git branch分支创建、切换、合并,git tag标签

    一)Git分支简介 每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作. 列出分支命令:git branch 创建分支命令:git bra ...

  3. Git 之 git tag标签使用

    目录 一.简介 二.本地tag操作 1.创建tag标签 (1)创建轻量标签 (2)创建附注标签 2.查看tag标签 (1)查看标签列表 (2)查看标签提交信息 (3)在提交历史中查看标签 3.删除ta ...

  4. git命令之git tag 给当前分支打标签

    git tag - 标签相关操作 发表于 2011年06月29日 由 机器猫 标签可以针对某一时间点的版本做标记,常用于版本发布. 列出标签 $ git tag # 在控制台打印出当前仓库的所有标签 ...

  5. 查看git当前tag_Git Tag 标签详解

    Git Tag 标签 git tag 按字母排序显示标签 git tag v1.01 打上v1.01这个标签 git show v1.01 显示这个标签的详情 可以同时打多个tag指向同一个时间点上的 ...

  6. jenkins 通过tag标签部署代码

    配置Git Parameter(需要安装插件),参数 步骤:选择代码部署的任务"test02"---->选择任务的"配置"--------->如下图 ...

  7. Git使用 从入门到入土 收藏吃灰系列 (十三) git stash、git check-pick、git tag、git diff

    文章目录 一.前言 二.git stash 存储到堆栈 三.Git tag 标签 四.git cherry-pick 挑选合并 五.git diff 本节速览 git stash 堆栈 git tag ...

  8. Git tag 打标签

    Git tag 给当前分支打标签 给指定的commit打Tag 打Tag不必要在head之上,也可在之前的版本上打,这需要你知道某个提交对象的校验和(通过git log获取). 补打Tag $ git ...

  9. 【Git】Git 标签使用 ( 查询哈希码 | 创建标签 git tag v1.0 | 查询标签 git tag | 查询标签信息 git show v1.0 | 创建标签并指定说明 | 删除标签 )

    文章目录 一.查询提交记录哈希码 1.git log --pretty=oneline --abbrev-commit 2.git reflog 二.为某个提交设置标签 git tag v1.0 23 ...

  10. git 远程分支和tag标签的操作

    git远程分支操作: 1.创建远程分支 git push --set-upstream origin develop:develop2 在服务器创建远程分支devlop2,让本地的develop分支和 ...

最新文章

  1. TensorFlow 安装protoc
  2. webpack 打包编译优化之路
  3. 冒泡排序算法[C++]
  4. 【自动化__持续集成】___java___XML__DOM4操作
  5. 高考还没结束,这份试卷已经流出,你能拿多少分?
  6. 基于selenium的钓鱼工具:关于ReelPhish神器的使用
  7. [转]10个学习Android开发的网站推荐
  8. paramiko获取远程主机的环境变量
  9. zookeeper的zxid
  10. 制作纯净版WinPE2.0
  11. 创业者该如何给员工画饼、圆饼?
  12. Win10怎么提高显卡游戏性能
  13. java为什么是静态的_为什么此方法必须是静态的(Java)?
  14. 【原创游戏】迷踪失路——恐怖风格的第一人称迷宫游戏
  15. 数据仓库系列4-维度表
  16. 软件测试面试题之非技术面试(GZH:软件测试大本营)
  17. 2022计算机软件毕业设计大全
  18. 【水花的2021年度总结】
  19. Qt实现中国象棋:(七)悔棋
  20. 算法导论-上课笔记11:单源最短路径

热门文章

  1. 关于rabbitmq的介绍
  2. SQL 对大小写不敏感!
  3. game with probability problem
  4. Lost and Found(结对项目)功能实现
  5. Express 入门
  6. 计算数字1至10的总和
  7. 三层交换机如何配置?如何实现不同vlan间的通信?
  8. 创建git 远程仓库 本地仓库 (Eclipse中使用)
  9. linux ftp 150 无响应,FTP遇到150无响应
  10. 【Hive】Hive内部表/外部表