7.標籤管理

發佈一個版本時,通常先在版本庫中打一個標籤(tag),唯一確定了打標籤時刻的版本。將來無論什麼時候,取某個標籤的版本,就是把那個打標籤的時刻的歷史版本取出來。所以,標籤也是版本庫的一個快照。
Git的標籤雖然是版本庫的快照,但其實它就是指向某個commit的指針(這裏與分支類似,但是分支可以移動,標籤不能移動),所以,創建和刪除標籤都是瞬間完成的。
創建標籤
切換到需要打標籤的分支上
使用 git tag <name> 命令打標籤,可以使用 git tag 查看

默認標籤標記的是最新的 commit ,如果要給以前的 commit 標記,需要找到歷史的commit 再標記:
git log --pretty=oneline --abbrev-commit

git tag <name> <commit id>

注意,標籤不是按時間順序列出,而是按字母排序的

可以使用 git show <tagname> 查看標籤信息

另外,還可以在打標籤的時候添加說明
-a 指定標籤名,-m 指定說明文字:

還可以通過 -s 用私鑰簽名一個標籤:
git tag -s <tagname> -m " " <commit id>
簽名採用PGP簽名,因此,必須首先安裝gpg(GnuPG),如果沒有找到gpg,或者沒有gpg密鑰對,就會報錯

操作標籤
推送到遠程
推送某一個標籤 git push origin <tagname>

推送所有未推送的標籤 git push origin --tags

刪除
由於創建的標籤都只存儲在本地,不會自動推送到遠程。所以,打錯的標籤可以在本地安全刪除。
git tag -d v0.1

如果標籤被推送到了遠程,先刪除本地再刪除遠程

git push origin :refs/tags/<tagname>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章