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 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