Git 标签使用详解

作者:奋飛 时间:2023-09-06 14:09:32 

Git跟其他版本控制系统一样,可以打标签(tag)标记一个版本号。

发布一个版本时,我们通常先在版本库中打一个标签,这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。

Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的。

一、列出标签

1. 列出当前仓库的所有标签:git tag

Git 标签使用详解

2. 列出所有标签及说明:git tag -n

Git 标签使用详解

3. 搜索符合条件的标签:git tag -l "1.0.*"

Git 标签使用详解

4. 查看标签信息:git show v1.0.1

Git 标签使用详解

二、创建标签

1. 创建标签:git tag "指定标签名"
2. 创建带有说明的标签:


git tag -a "指定标签名" -m "指定说明文字"
git tag -a "v1.0.1" -m "version 1.0.1 released"

3. 给指定的commit打标签:


# 找历史提交的commit id
git log --pretty=oneline --abbrev-commit
# 给指定的commit id打标签
git tag -a "指定标签名" commitID
git tag -a "v1.0.2" 9fbc3d0

三、删除标签

1. 删除标签:


git tag -d 标签名
git tag -d v1.0.1

2. 删除远程标签:


git tag -d v1.0.2
git push origin :refs/tags/v1.0.2

3. 删除远程标签(Git1.7版本以后):


git push origin --delete tag <tagname>

四、本地标签推送到远程

1. 推送指定标签:


git push origin v1.0.0

2. 一次性推送全部尚未推送到远程的本地标签:


git push origin --tags

五、重命名tag

1. 删除原有tag,重新添加


git tag -d <old-tag>
git tag -a <new-tag> -m"information"

2. 强制替换,再删除原有


git tag -f <new-tag> <old-tag>
git tag -d <old-tag>

六、获取指定tag代码

第一步:切换到指定标签,提示你当前处于一个“detached HEAD" 状态,因为 tag 相当于是一个快照,是不能更改它的代码的


git checkout v1.0.0

第二步:如果要在 tag 代码的基础上做修改,你需要一个分支


git checkout -b branch_name tag_name

第三步:切回到之前的HEAD指向(以master为例)


git checkout master

来源:https://blog.csdn.net/ligang2585116/article/details/46468709

标签:Git,标签
0
投稿

猜你喜欢

  • Python OpenCV招商银行信用卡卡号识别的方法

    2022-01-16 06:31:30
  • ktl工具实现mysql向mysql同步数据方法

    2024-01-15 18:09:21
  • python3.9和pycharm的安装教程并创建简单项目的步骤

    2021-06-18 05:34:16
  • Python+Turtle绘制可爱的可达鸭

    2021-06-18 10:20:29
  • vue.set向对象里增加多层数组属性不生效问题及解决

    2024-05-09 10:52:12
  • python中字典增加和删除使用方法

    2023-12-15 15:31:30
  • python飞机大战pygame游戏框架搭建操作详解

    2022-09-24 05:49:51
  • .NET 6中为record类型自定义Equals方法

    2023-07-15 21:29:29
  • Python自动化测试Eclipse+Pydev 搭建开发环境

    2022-07-15 07:01:54
  • PHP实现执行外部程序的方法详解

    2023-09-08 02:03:46
  • python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法

    2022-10-17 05:26:04
  • Python迭代器Iterable判断方法解析

    2023-06-11 15:37:19
  • 教你如何将 Sublime 3 打造成 Python/Django IDE开发利器

    2022-10-10 11:37:29
  • windows下Virtualenvwrapper安装教程

    2023-11-08 02:15:20
  • Vue生命周期实例分析总结

    2024-06-07 15:23:38
  • MySQL数据库定时备份的实现方法

    2024-01-23 19:38:42
  • 详解Numpy中的广播原则/机制

    2023-11-15 02:49:44
  • Pycharm编辑器技巧之自动导入模块详解

    2022-02-06 06:11:14
  • python批量从es取数据的方法(文档数超过10000)

    2022-03-23 01:21:48
  • 详解vue-router 动态路由下子页面多页共活的解决方案

    2024-04-27 16:01:22
  • asp之家 网络编程 m.aspxhome.com