Git 中切換到某標籤

Abdul Jabbar 2023年1月30日
  1. 在 Git 中建立標籤
  2. 切換到一個 Git 標籤
  3. 使用標籤名稱切換到 Git 中的最新標籤
Git 中切換到某標籤

Git 是全球各個團隊使用的頂級版本控制系統之一。與其他版本控制系統一樣,Git 也可以標記倉庫歷史記錄中的某些特定點以標記為重要。

通常,開發人員使用它來標記釋出點或建立標籤,以便他們在開發中具有用於標記目的的參考點。

本文將討論 Git 標籤的基礎知識,以及我們如何使用各種命令輕鬆建立 Git 標籤和簽出 Git 標籤。我們可以很容易地知道標籤一詞的含義。

可以將標籤解釋為用於發現特定提交或推送歷史上某些工作的標籤。我們可以用它來標記釋出點(例如,v58.0)。

標籤類似於特定倉庫中的分支,但不能更改。它指定歷史中的特定提交,除非精確更新,否則無法替換。

建立標籤後,它們沒有進一步的提交歷史。它是在 Head 所指的提交上建立的。

當你需要新增標記以便稍後記住有關釋出或任何特定提交時,你可以在該提交中新增標記以便稍後輕鬆記住。

在 Git 中建立標籤

為了建立新標籤,我們將執行以下命令。

$ git tag <tag_name>

有兩個不同的標籤:註釋性標籤和輕量級標籤。最後提到的命令示例建立了一個輕量級標籤。

兩個標籤之間的區別在於,當我們使用帶註釋的標籤時,我們可以新增一些新的附加後設資料資訊,就像我們之前在提交中所做的那樣,例如電子郵件地址、釋出日期、與釋出說明相關的評論和簽名在團隊中建立釋出的人,這對於團隊的公開發布非常重要。

雖然輕量級標籤可以被視為特定倉庫中提交的書籤,但它們表示名稱和指向提交的指標。

實際上,Annotated tags 應該用作 public,而 Lightweight tags 應該用作 private。下面列出的命令將建立一個新的 Annotated tag,以供將來使用 v1.0 版本標籤。

git tag -a v1.0

切換到一個 Git 標籤

為了簽出 Git 標籤,我們將使用以下命令 git checkout 命令,我們必須指定標籤名稱和必須簽出以儲存在本地分支中的分支。

$ git checkout tags/<tag> -b <branch>

為此,我們應該從遠端倉庫中獲得最新的標籤列表。我們將使用下面提到的選項 -all-tags 執行命令 git fetch,以從我們的遠端倉庫中獲取標籤。

$ git fetch --all --tags

假設我們已經命名了一個標籤 v1.0,我們必須在一個名為 release 的分支中籤出它。我們必須為上述目的執行以下命令才能獲得所需的結果。

$ git checkout tags/v1.0 -b v1.0-branch

現在我們已經成功簽出了 v1.0 標籤。

此外,我們可以在命令 git log 的幫助下檢查分支的狀態。

但是對於使用此命令,我們應該確保 HEAD 指標指向倉庫當前分支中的當前註釋標記。

$ git log --oneline --graph

使用標籤名稱切換到 Git 中的最新標籤

假設我們想使用倉庫的最頂層標籤來檢查最新的 Git 標籤。在這種情況下,我們必須通過獲取當前倉庫中可用的遠端標籤來更新我們的倉庫。

$ git fetch --tags

我們已經通過上述命令從遠端倉庫中獲取了幾個標籤到本地倉庫中。然後我們將獲取可以使用命令 git describe 訪問的最近標籤,如下所述。

$ tag=$(git describe --tags `git rev-list --tags --max-count=1`)

$ echo $tag
v2.0

最後,我們將使用 git checkout 命令進行檢出。

$ git checkout $tag -b latest

我們已經在 Git 中使用上述命令成功地切換到新分支中可用的最新 Git 標籤。

作者: Abdul Jabbar
Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn

相關文章 - Git Tag

相關文章 - Git Checkout