1. 程式人生 > >139.00.005 Git學習-標簽管理Tag

139.00.005 Git學習-標簽管理Tag

學習 版本號 操作 我們 ... 一起 查看 還要 AD

@(139 - Environment Settings | 環境配置)

一、Why

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

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

Git有commit,為什麽還要引入tag?

“請把上周一的那個版本打包發布,commit號是6a5819e...”

“一串亂七八糟的數字不好找!”

如果換一個辦法:

“請把上周一的那個版本打包發布,版本號是v1.2”

“好的,按照tag v1.2查找commit就行!”

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

二、創建標簽

命令git tag <name>用於新建一個標簽,默認為HEAD,
也可以指定一個commit id $ git tag v0.9 6224937(commit id)

P.S.列出歷史提交的commit idgit log --pretty=oneline --abbrev-commit

git tag -a <tagname> -m "blablabla..."

可以指定標簽信息;

git tag -s <tagname> -m "blablabla..."可以用PGP簽名標簽;

命令git tag可以查看所有標簽。

三、操作標簽

命令git push origin <tagname>可以推送一個本地標簽;

命令git push origin --tags可以推送全部未推送過的本地標簽;

命令git tag -d <tagname>可以刪除一個本地標簽;

命令git push origin :refs/tags/<tagname>可以刪除一個遠程標簽。

139.00.005 Git學習-標簽管理Tag