Git 打标签入门指南

一、什么是 Git 标签?

Git 标签是一个固定的指向 commit 的引用,类似于一个代码库的“里程碑”或“版本号”,提供了一个简单易懂的方式来标记重要的提交。标签是以轻量(Lightweight)标签和注解(Annotated)标签两种形式进行发布,轻量标签很像一个不会改变的分支,它只是一个特定提交的引用而已,而注解标签是存储在 Git 数据库中的一个完整的对象,它包含标签本身的名字、电子邮件地址、日期时间、附注以及可以对其进行数字签名而生成的 GPG(GNU Privacy Guard)签名等信息。

下面列出一些常用的标签命令。

1. 列出所有标签:git tag
2. 新建标签:git tag [tagname]
3. 基于 commit 新建标签:git tag [tagname] [commit hash]
4. 查看标签信息:git show [tagname]
5. 删除标签:git tag -d [tagname]
6. 将标签推送到远程仓库:git push origin [tagname]
7. 删除远程仓库标签:git push origin :refs/tags/[tagname]
8. 从远程仓库拉取标签:git fetch origin [tagname]
9. 检出标签:git checkout [tagname]

二、如何打轻量标签?

轻量标签非常适合快速打一个类似于版本号的标记。创建一个轻量标签的方式非常简单,只需要使用 “git tag [tagname]” 命令即可。一个常见错误是在试图打轻量标签时输入 “-a” 选项或 “-m” 选项。这些选项用于创建注解标签,而轻量标签不支持注解。

下面演示如何创建轻量标签。

# 列出当前的提交历史
$ git log --oneline
1c03820 (HEAD -> master) update readme file
18e62db add new function
b7e9a3e first commit

# 打一个 v1.0 的轻量标签,指向当前的 HEAD
$ git tag v1.0

# 列出所有标签
$ git tag
v1.0

三、如何打注解标签?

注解标签提供了完整的标签信息,并存储在 Git 数据库中。它们是由一个指定版本的提交、一个标签名字、一个注解信息和可能的数字签名组成。注解标签适合于发布新版本或者里程碑。

下面演示如何创建注解标签。

# 打一个 v2.0 的标签并添加注解信息
$ git tag -a v2.0 -m "Release version 2.0"

# 查看标签信息
$ git show v2.0
tag v2.0
Tagger: Zhang San 
Date:   Fri Oct 11 14:11:25 2019 +0800

Release version 2.0

commit 1c03820a1750b41c27f9be76477d0cdef267ea56 (HEAD -> master)
Author: Zhang San 
Date:   Fri Oct 11 13:30:47 2019 +0800

    update readme file

四、如何分享标签?

一个标签默认是存在本地的,不会被自动推送到远程服务器。如果你想要分享这个标签,你必须通过执行 “git push [remote] [tagname]” 命令显式地推送到远程服务器,或者通过执行 “git push –tags” 命令推送所有(本地)标签。

下面演示如何分享标签。

# 推送单个标签
$ git push origin v1.0

# 推送所有本地标签
$ git push --tags

五、如何删除标签?

删除一个本地标签非常简单,只需在删除标签命令中指定标签的名称即可:”git tag -d [tagname]”。但是,如果已经将标签推送到远程仓库,你需要在推送命令中明确指定它,并使用冒号前缀加上标签名称(”git push [remote] :refs/tags/[tagname]”)。

下面演示如何删除标签。

# 删除本地标签
$ git tag -d v2.0

# 从远程仓库删除标签
$ git push origin :refs/tags/v2.0

六、如何检出特定标签?

检出标签意味着切换到标签所指向的 commit,这个 commit 可以是普通的提交对象,也可以是一个特殊的 Git 对象,如分支(branch)或特定的提交。当你检出一个标签时,你会进入“分离头指针”的状态,这意味着你不再位于任何分支上,并且不会自动推进提交历史(即你所做的每个操作都会在特定的分离头指针上直接引用)。

下面演示如何检出标签。

# 检出 v1.0 标签并进入"分离头指针"状态
$ git checkout tags/v1.0

# 检出并创建基于标签 v1.0 的分支
$ git checkout -b new_branch tags/v1.0

原创文章,作者:VAKMI,如若转载,请注明出处:https://www.506064.com/n/331614.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
VAKMIVAKMI
上一篇 2025-01-20 14:11
下一篇 2025-01-20 14:11

相关推荐

  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • 运维Python和GO应用实践指南

    本文将从多个角度详细阐述运维Python和GO的实际应用,包括监控、管理、自动化、部署、持续集成等方面。 一、监控 运维中的监控是保证系统稳定性的重要手段。Python和GO都有强…

    编程 2025-04-29
  • Python wordcloud入门指南

    如何在Python中使用wordcloud库生成文字云? 一、安装和导入wordcloud库 在使用wordcloud前,需要保证库已经安装并导入: !pip install wo…

    编程 2025-04-29
  • Python应用程序的全面指南

    Python是一种功能强大而简单易学的编程语言,适用于多种应用场景。本篇文章将从多个方面介绍Python如何应用于开发应用程序。 一、Web应用程序 目前,基于Python的Web…

    编程 2025-04-29
  • Python字符转列表指南

    Python是一个极为流行的脚本语言,在数据处理、数据分析、人工智能等领域广泛应用。在很多场景下需要将字符串转换为列表,以便于操作和处理,本篇文章将从多个方面对Python字符转列…

    编程 2025-04-29
  • Git secbit:一种新型的安全Git版本

    Git secbit是一种新型的安全Git版本,它在保持Git原有功能的同时,针对Git存在的安全漏洞做出了很大的改进。下面我们将从多个方面对Git secbit做详细地阐述。 一…

    编程 2025-04-29
  • Python小波分解入门指南

    本文将介绍Python小波分解的概念、基本原理和实现方法,帮助初学者掌握相关技能。 一、小波变换概述 小波分解是一种广泛应用于数字信号处理和图像处理的方法,可以将信号分解成多个具有…

    编程 2025-04-29
  • Python初学者指南:第一个Python程序安装步骤

    在本篇指南中,我们将通过以下方式来详细讲解第一个Python程序安装步骤: Python的安装和环境配置 在命令行中编写和运行第一个Python程序 使用IDE编写和运行第一个Py…

    编程 2025-04-29
  • FusionMaps应用指南

    FusionMaps是一款基于JavaScript和Flash的交互式地图可视化工具。它提供了一种简单易用的方式,将复杂的数据可视化为地图。本文将从基础的配置开始讲解,到如何定制和…

    编程 2025-04-29
  • Python起笔落笔全能开发指南

    Python起笔落笔是指在编写Python代码时的编写习惯。一个好的起笔落笔习惯可以提高代码的可读性、可维护性和可扩展性,本文将从多个方面进行详细阐述。 一、变量命名 变量命名是起…

    编程 2025-04-29

发表回复

登录后才能评论