1. 程式人生 > >Git tag操作

Git tag操作

前言

最近使用git來管理一個專案,到達一定階段後,需要將穩定的程式碼釋出成一個版本,經過查詢資料發現git的標籤操作剛好滿足我的要求,所以記錄下來,方便以後是使用查詢。

用途

標籤可以針對某一時間點的版本做標記,常用於版本釋出,這恰恰是我所需要的功能,將本地標籤推送到Github上即釋出了一個Release版本,下載和檢視非常方便。

標籤分類

git標籤分為兩種型別:輕量標籤和附註標籤。輕量標籤是指向提交物件的引用,附註標籤則是倉庫中的一個獨立物件,建議使用附註標籤,日後還可以檢視標籤資訊。

建立標籤

  • 建立輕量標籤
    $ git tag v0.2.0 -light


    解釋:建立輕量標籤不需要傳遞引數,直接指定標籤名稱即可。

  • 建立附註標籤
    $ git tag -a v0.1.0 -m "release 0.1.0 version"
    解釋:建立附註標籤時,引數-a即annotated的縮寫,指定標籤型別,後附標籤名。引數m指定標籤說明,說明資訊會儲存在標籤物件中。

檢視標籤

  • 列出當前倉庫的所有標籤
    $ git tag

  • 列出符合模式的標籤
    $ git tag -l 'v0.1.*'

  • 檢視標籤版本資訊
    $ git show v0.1.0

切換標籤

  • 切換標籤與切換分支命令相同
    $ git checkout [tagname]

    解釋:切換標籤後處於一個空的分支上,即”You are in ‘detached HEAD’ state.”

刪除標籤

  • 誤打或需要修改標籤時,需要先將標籤刪除,再打新標籤
    $ git tag -d v0.1.2
    解釋:引數-d即delete的縮寫,意為刪除其後指定的標籤。

  • 刪除遠端標籤
    兩種方式:
    git push origin :refs/tags/標籤名
    git push origin --delete tag 標籤名

補打標籤

  • 給指定的commit打標籤
    $ git tag -a v0.1.0 49e0cd22f6bd9510fe65084e023d9c4316b446a6

    解釋:打標籤不必要在HEAD之上,也可在之前的版本上打,這需要你知道某個提交物件的校驗和,通過git log命令獲取。

釋出標籤

  • 將v0.1.0標籤提交到git伺服器
    $ git push origin v0.1.0
    解釋:通常的git push不會將標籤物件提交到git伺服器,我們需要進行顯式的操作。

  • 將本地所有標籤一次性提交到git伺服器
    $ git push origin -–tags

原文連結:git tag常用操作