1. 程式人生 > >git tag 釋出專案打tag

git tag 釋出專案打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的縮寫,意為刪除其後指定的標籤。

補打標籤

  • 給指定的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 -m "修改內容或版本說明" tag名稱
  • 所有標籤提交遠端 git push origin --tags