通常在發(fā)布軟件的時(shí)候打一個(gè)tag,tag會(huì)記錄版本的commit號(hào),方便后期回溯。
列出已有的tag
git tag

顯示tag
加上-l命令可以使用通配符來過濾tag

tag顯示過濾
新建tag
使用git tag命令跟上tag名字,直接創(chuàng)建一個(gè)tag。
git tag v1.0
上面創(chuàng)建一個(gè)名為v1.0的tag。使用git tag命令可以看到新增加的tag。

創(chuàng)建tag
還可以加上-a參數(shù)來創(chuàng)建一個(gè)帶備注的tag,備注信息由-m指定。如果你未傳入-m則創(chuàng)建過程系統(tǒng)會(huì)自動(dòng)為你打開編輯器讓你填寫備注信息。
git tag -a tagName -m "my tag"

創(chuàng)建有備注信息的tag
查看tag詳細(xì)信息
git show命令可以查看tag的詳細(xì)信息,包括commit號(hào)等。
git show tagName
查看v1.0tag的詳細(xì)信息

查看帶備注的
v1.1的詳細(xì)信息
tag最重要的是有g(shù)it commit號(hào),后期我們可以根據(jù)這個(gè)commit號(hào)來回溯代碼。
給指定的某個(gè)commit號(hào)加tag
打tag不必要在head之上,也可在之前的版本上打,這需要你知道某個(gè)提交對(duì)象的校驗(yàn)和(通過git log獲取,取校驗(yàn)和的前幾位數(shù)字即可)。
git tag -a v1.2 9fceb02 -m "my tag"

將tag同步到遠(yuǎn)程服務(wù)器
同提交代碼后,使用git push來推送到遠(yuǎn)程服務(wù)器一樣,tag也需要進(jìn)行推送才能到遠(yuǎn)端服務(wù)器。
使用git push origin [tagName]推送單個(gè)分支。
git push origin v1.0
推送本地所有tag,使用git push origin --tags。
切換到某個(gè)tag
跟分支一樣,可以直接切換到某個(gè)tag去。這個(gè)時(shí)候不位于任何分支,處于游離狀態(tài),可以考慮基于這個(gè)tag創(chuàng)建一個(gè)分支。

刪除某個(gè)tag
- 本地刪除
git tag -d v0.1.2

- 遠(yuǎn)端刪除
git push origin :refs/tags/<tagName>
git push origin :refs/tags/v0.1.2