git describe 生成版本號

語義化版本與 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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章