語義化版本與 git describe
清晰的 tag 版本信息,不但有助於發佈版本的選擇和回滾,同時能十分方便的查看到分支的版本提交進度。
# git describe master --tags
v0.5.1-220-g10623a702
它表明,本地 master 分支當前 commit hash 爲 10623a702。
git describe
如果符合條件的tag指向最新提交則只是顯示tag的名字
否則會有相關的後綴來描述該tag之後有多少次提交以及最新的提交commit id。
# git describe master
v0.4.0-80-gcae24a22
這個字符串可以作爲快照的名字,方便人們理解。
1、80:表示自打tag v0.4.0以來有80次提交(commit)
2、gcae24a22:g 爲git的縮寫,在多種管理工具並存的環境中很有用處
3、cae24a22:表示爲最新提交的commit id 前幾位
複雜點的命令,就是多加入一些參數:
# git describe --always --match=NeVeRmAtCh --dirty
cae24a22-dirty
-
–always
Show uniquely abbreviated commit object as fallback.
會獲取最近的 commitID -
–match
僅考慮與給定模式匹配的標記
如下舉例,如果沒有匹配到,就會去掉前面的tag和提交次數等信息:# git describe --always --dirty v0.4.0-80-gcae24a22-dirty # git describe --always --match=Ne