Git 標籤管理

2022-08-18 22:12:20 字數 2790 閱讀 3935

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

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

git有commit,為什麼還要引入tag?

「請把上週一的那個版本打包發布,commit號是6a5819e...」

「一串亂七八糟的數字不好找!」

如果換乙個辦法:

「請把上週一的那個版本打包發布,版本號是v1.2」

「好的,按照tag v1.2查詢commit就行!」

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

注意

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

標籤總是和某個commit掛鉤。如果這個commit既出現在master分支,又出現在dev分支,那麼在這兩個分支上都可以看到這個標籤。

在git中打標籤非常簡單,首先,切換到需要打標籤的分支上,然後,敲命令git tag就可以打乙個新標籤

$ git tag v1.0

可以用命令git tag檢視所有標籤

$ git tag

v1.0

預設標籤是打在最新提交的commit上的。有時候,如果忘了打標籤,比如,現在已經是周五了,但應該在周一打的標籤沒有打,怎麼辦?方法是找到歷史提交的commit id,然後打上就可以了.比方說要對add merge這次提交打標籤,它對應的commit id是f52c633,敲入命令:

$ git tag v0.9 f52c633

再用命令git tag檢視標籤

$ git tag#還記得嗎,排序是按字母排序的

v0.9

v1.0

可以用git show檢視標籤資訊:

$ git show v0.9

commit f52c63349bc3c1593499807e5c8e972b82c8f286 (tag: v0.9)

author: michael liao date: fri may 18 21:56:54 2018 +0800

add merge

diff --git a/readme.txt b/readme.txt

還可以建立帶有說明的標籤,用-a指定標籤名,-m指定說明文字:

$ git tag -a v0.1 -m "version 0.1 released" 1094adb

用命令git show可以看到說明文字

這種方法不能為已存在的標籤加上說明文字,那種方式能做的我也不知道

c:\users\administrator.sc-2012132\learngit (master -> origin)

λ git tag -a v1.0 -m "version 1.0 released"

fatal: tag 'v1.0' already exists

c:\users\administrator.sc-2012\learngit (master -> origin)

λ git tag -a v1.0 -m "version 1.0 released" 5370aa0

fatal: tag 'v1.0' already exists

刪除標籤

$ git tag -d v0.1

deleted tag 'v0.1' (was f15b0dd)

因為建立的標籤都只儲存在本地,不會自動推送到遠端。所以,打錯的標籤可以在本地安全刪除。

如果要推送某個標籤到遠端,使用命令git push origin

一次性推送全部尚未推送到遠端的本地標籤:

$ git push origin --tags

total 0 (delta 0), reused 0 (delta 0)

to github.com:michaelliao/learngit.git

* [new tag] v0.9 -> v0.9

刪除遠端標籤

先從本地刪除:

$ git tag -d v0.9

deleted tag 'v0.9' (was f52c633)

然後,從遠端刪除。刪除命令也是push,但是格式如下:

$ git push origin :refs/tags/v0.9

to github.com:michaelliao/learngit.git

- [deleted] v0.9

$ git tag -d v0.1

deleted tag 'v0.1' (was f15b0dd)

git 標籤管理

1.建立標籤 切換到需要打標籤的分支上 git branch git checkout master switch to branch master 然後git tag 就可以打乙個新標籤 git tag v1.02.檢視標籤資訊 git show v0.93.刪除本地標籤 git tag d v0...

Git 標籤管理

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

Git標籤管理

目錄 git標籤 在當前commit處建立標籤 指定commit建立標籤 建立標籤時指定自定義描述 檢視標籤列表 檢視標籤詳情 刪除本地標籤 將指定標籤推送到遠端倉庫 刪除遠端倉庫中的標籤 git中的標籤 tag 就是git版本倉庫的快照。它指向某個commit指標。與分支的概念不同,標籤指向某個c...