Git學習 7 標籤管理 廖老師部落格學習

2021-10-01 10:39:00 字數 2454 閱讀 8975

什麼是標籤?

發布乙個版本時,我們通常先在版本庫中打乙個標籤(tag),這樣,就唯一確定了打標籤時刻的版本。將來無論什麼時候,取某個標籤的版本,就是把那個打標籤的時刻的歷史版本取出來。所以,標籤也類似版本庫的乙個快照。

git的標籤雖然類似版本庫的快照,但其實它就是指向某個commit的指標(跟分支很像對不對?但是分支可以移動,標籤不能移動),所以,建立和刪除標籤都是瞬間完成的。

tag就是乙個讓人容易記住的有意義的名字,它跟某個commit綁在一起。

注意:我們一般打標籤是為了發布乙個東西,或指明乙個階段,往往會採取在主幹上進行標籤的標記,不排除在其他開發分支上進行其他小階段型的標記。

git  tag  tagname
(master)

$ git tag v0.0.1

(master)

$ git tag

v0.0.1

預設標籤是打在最新提交的commit上的。

從dev合併到master 2023年12月10日15:48:53

有時候,如果忘了打標籤,比如,現在已經是周五了,但應該在周一打的標籤沒有打,怎麼辦?

方法是找到歷史提交的commit id,然後打上就可以了:

git tag tagname commitid

可以對指定的commitid進行標籤標記!

可以對標籤進行描述

git tag -a tagname -m "*********" commitid

git show是可以看到標籤的描述資訊的

pgp簽名標籤:

$ git tag -s -m 

or commit_id

git tag -s -m "blablabla..."可以用pgp簽名標籤。

$ git tag -s v0.0.3 -m "標籤0.0.3"

gpg: directory '/c/users/administrator/.gnupg' created

gpg: keybox '/c/users/administrator/.gnupg/pubring.kbx' created

gpg: skipped "ys-yangsong <[email protected]>": no secret key

gpg: signing failed: no secret key

error: gpg failed to sign the data

error: unable to sign the tag

# 我的簽名出錯,是因為我的secret生成公鑰時,沒有指定密碼,空密碼生成自己的公鑰的

標籤是指向commit的死指標,分支是指向commit的活指標!!仔細想下,這句話要怎麼理解?

我們在dev分支打的標籤,切換到master分支也是有可能會看到的,因為這個commitid有可能是兩個分支都有的。

檢視所有標籤

$ git tag
推送乙個本地標籤

$ git push origin
推送全部未推送過的本地標籤

$ git push origin --tags
刪除乙個本地標籤

$ git tag -d
刪除乙個遠端標籤《本地標籤另行刪除》

$ git push origin :refs/tags/

可以在github上檢視推送上去的標籤

Git學習筆記(廖老師Git教程)

git 目前世界上最先進的分布式版本控制系統 1.安裝 mac 自帶git 其他系統度娘都知道 2.檢視git版本 git version 3.建立乙個目錄並初始化用作本地倉庫 repository mkdir learngit 建立資料夾 cd learngit 進入資料夾 git init 初始...

廖雪峰老師Git教程學習筆記

初始化乙個git倉庫,使用git init命令。新增檔案到git倉庫,分兩步 每次修改,如果不用git add到暫存區,那就不會加入到commit中 使用命令git add,注意,可反覆多次使用,新增多個檔案 將修改的檔案從工作區新增至暫存區 使用命令git commit m,完成。將暫存區的所有內...

廖雪峰Git教程筆記(二十)標籤管理

發布乙個版本時,我們通常先在版本庫中打乙個標籤 tag 這樣,就唯一確定了打標籤時刻的版本。將來無論什麼時候,取某個標籤的版本,就是把那個打標籤的時刻的歷史版本取出來。所以,標籤也是版本庫的乙個快照。git的標籤雖然是版本庫的快照,但其實它就是指向某個commit的指標 跟分支很像對不對?但是分支可...