news 2026/4/3 5:44:56

Git | 标签操作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Git | 标签操作

概述

  • 作用—— 为重要版本(如发布版本)创建易记的名称(如v1.2),替代难记的commit id,类似IP和域名的关系

  • 本质—— 指向特定commit的不可变指针(与分支不同,分支会随提交移动)

    标签总是和某个commit挂钩。如果这个commit既出现在master分支,又出现在dev分支,那么两个分支上都可以看到这个标签

  • 特点

    • 标签与commit绑定,若commit存在于多个分支,标签在这些分支均可见
    • 标签内容包含标签名、关联的commit、创建者、时间及可选说明信息
  • 使用场景

    • 版本发布:为稳定版本打标签(如v1.0.0),便于后续回滚或发布
    • 代码审查:标记关键节点(如feature-complete
    • 协作规范
      • 使用语义化版本(SemVer):主版本.次版本.修订号(如v2.1.3
      • 附注标签推荐:包含版本变更摘要(git tag -a v1.1 -m "新增用户登录功能"
    • 与分支对比
      • 分支用于日常开发(动态移动),标签用于标记里程碑(静态快照)

指令介绍

标签管理git tag
  • 作用—— 管理标签,包括创建、列出、删除或验证等

  • 语法

    gittag[<options>]<tagname>[<commit>]
    参数options说明
    -a/--annotate创建附注标签annotated tag,包含作者、日期和描述信息
    -m <msg>/--message=<msg>指定标签的描述信息(必须与-a一起使用)
    -d删除指定标签
    -l/--list列出符合模式的标签(如git tag -l "v1.*"
    -s/--sign创建GPG签名标签(需配置GPG密钥)
  • 具体示例

    • 列出所有标签

      $gittag
    • 创建轻量标签(无额外信息)

      $gittag v1.0
    • 对历史提交打标签

      $gitlog --oneline# 查看 commit id$gittag v0.9 a1b2c3d# 对 commit a1b2c3d 打标签
    • 创建附注标签(含描述)

      $gittag -a v1.1 -m"正式发布版本"
    • 删除本地标签

      $gittag -d v0.9
    • 推送标签到远程

      $gitpush origin v1.0 $gitpush origin --tags# 推送所有未推送的标签
    • 删除远程标签

      $gittag -d v1.0 $gitpush origin :refs/tags/v1.0
查看对象详情git show
  • 作用—— 显示Git对象(如标签、提交、文件)详细信息,包括变更内容、作者、时间等

  • 语法

    gitshow[<options>][<object>]
    参数options说明
    --pretty=format:"..."自定义输出格式(如%H显示完整commit hash
    --name-only仅显示受影响的文件名,不显示具体变更
    --stat显示简略统计信息(变更行数)
  • 具体示例

    • 查看标签信息(含关联的提交和变更)

      $gitshow v1.0 tag v1.0 Tagger: Alice<alice@example.com>Date: Mon Jan112:00:002024+0800 Version1.0release commit a1b2c3d... Author: Bob<bob@example.com>Date: Sun Dec3112:00:002023+0800 feat: Add new featurediff--git a/file.txt b/file.txt...
    • 查看某次提交的变更

      $gitshow abc1234
    • 查看分支最新提交

      $gitshow main

本地标签操作

场景一:查看标签
  • 查看所有标签

    $gittag v0.9 v1.0

    注意:标签不是按时间顺序列出,而是按字母排序的

  • 查看标签信息

    $gitshow v0.9 commit f52c63349bc3c15dfasf972b82c8f286(tag: v0.9)Author: Li Hua<example@mail.com>Date: Fri May2309:07:002025+0800 添加合并功能diff--git a/readme.txt b/readme.txt...
场景二:当前提交创建标签v1.0
  1. 切换分支—— 切换到要打标签的分支

    $gitbranch * dev master
    $gitcheckout master Switched to branch'master'
  2. 创建标签—— 当前提交打新标签v1.0

    $gittag v1.0
场景三:历史提交创建标签v1.0
  1. 查找提交—— 找到历史提交的commit id

    $gitlog --pretty=oneline --abbrev-commit 12a631b(HEAD ->master)合并bug修复 f52c633 添加合并功能 cf810e4 解决冲突
  2. 创建标签—— 历史提交打新标签v1.0

    $gittag v0.9 f52c633
场景三:创建带有说明的标签
  1. 创建带说明标签—— 说明中,-a指定标签名,-m指定说明文字,最后加上commit id

    $gittag -a v0.1 -m"version 0.1 released"cf810e4
  2. 查看标签信息

    $gitshow v0.1 tag v0.1 Tagger: Li Hua<example@mail.com>Date: Fri May2309:07:002025+0800 version0.1released commit cf810e49bc3sad972b82c8f286(tag: v0.1)Author: Li Hua<example@mail.com>Date: Fri May2309:07:002025+0800 解决冲突diff--git a/readme.txt b/readme.txt...
场景四:删除本地标签
  • 删除标签 —— 删除指定名称标签

    $ git tag -d v0.1 Deleted tag 'v0.1' (was cf810e4)

远程标签操作

[!important]

标签不会自动同步到远程,需要显式推送

场景一:推送某个本地标签到远程
  1. 推送指定名称标签

    $ git push origin v1.0 Total 0 (delta 0), reused 0 (delta 0) To github.com:michaelliao/learngit.git * [new tag] v1.0 -> v1.0
场景二:推送全部本地标签到远程
  1. 推送所有标签 —— 采用指令git push--tags参数推送所有标签

    $ git push origin --tags Total 0 (delta 0), reused 0 (delta 0) To github.com:michaelliao/learngit.git * [new tag] v0.9 -> v0.9
场景三:删除远程标签
  1. 本地删除标签

    $gittag -d v0.9 Deleted tag'v0.9'(was f52c633)
  2. 远程删除标签

    $gitpush origin :refs/tags/v0.9 To github.com:michaelliao/learngit.git -[deleted]v0.9

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/1 11:15:03

安防监控新利器:基于YOLO的智能视频分析方案

安防监控新利器&#xff1a;基于YOLO的智能视频分析方案 在城市街道、工业园区、住宅小区的无数摄像头背后&#xff0c;每天都在产生海量的视频数据。然而&#xff0c;这些画面大多数时候只是静静地躺在硬盘里&#xff0c;直到某次事故发生后才被人翻出回看——这种“事后诸葛亮…

作者头像 李华
网站建设 2026/3/26 8:24:26

YOLO模型版权说明与商业使用合规指南

YOLO模型版权说明与商业使用合规指南 在智能制造、自动驾驶和智慧安防等AI驱动的产业中&#xff0c;目标检测技术正扮演着“视觉中枢”的角色。而在这片技术高地之上&#xff0c;YOLO&#xff08;You Only Look Once&#xff09;系列几乎已成为实时感知的代名词。从工厂产线上的…

作者头像 李华
网站建设 2026/3/27 15:00:08

YOLO模型镜像支持飞腾+麒麟国产软硬件栈

YOLO模型镜像支持飞腾麒麟国产软硬件栈 在智能制造与边缘计算加速融合的今天&#xff0c;越来越多工业场景对“实时、可靠、安全”的目标检测能力提出了严苛要求。与此同时&#xff0c;面对核心技术自主可控的战略需求&#xff0c;构建基于国产芯片与操作系统的AI推理体系&…

作者头像 李华
网站建设 2026/4/3 4:52:45

YOLO如何实现无锚框检测?Anchor-Free原理剖析

YOLO如何实现无锚框检测&#xff1f;Anchor-Free原理剖析 在工业质检线上&#xff0c;一个微小的划痕可能意味着整批产品报废&#xff1b;在自动驾驶系统中&#xff0c;一次对远处行人的漏检就足以引发严重事故。这些现实场景不断向目标检测算法提出更高要求&#xff1a;不仅要…

作者头像 李华
网站建设 2026/3/28 0:49:48

YOLO速度有多快?实测每秒处理150帧图像

YOLO速度有多快&#xff1f;实测每秒处理150帧图像 在工业质检线上&#xff0c;传送带以每分钟300件的速度飞速运转。摄像头每隔几十毫秒就要抓拍一张产品图像&#xff0c;系统必须在下一帧到来前完成缺陷识别并决定是否触发剔除机制——留给算法的响应时间不足10ms。这种场景下…

作者头像 李华
网站建设 2026/3/31 16:58:32

YOLO模型镜像提供API SDK(Python版)下载

YOLO模型镜像与Python SDK&#xff1a;让目标检测真正“开箱即用” 在智能制造工厂的质检线上&#xff0c;一台工业相机正以每秒60帧的速度拍摄电路板图像&#xff1b;与此同时&#xff0c;在城市边缘的智慧园区&#xff0c;红外摄像头正在夜色中默默扫描是否有非法闯入者。这些…

作者头像 李华