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/zh-tw/n/331614.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
VAKMI的頭像VAKMI
上一篇 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

發表回復

登錄後才能評論