如果使用git命令行工具,產(chǎn)生版本號(hào)?
Git describe
如果符合條件的tag指向最新提交則只是顯示tag的名字
否則會(huì)有相關(guān)的后綴來描述該tag之后有多少次提交以及最新的提交commit id。
不加任何參數(shù)的情況下,git describe 只會(huì)列出帶有注釋的tag
$ git describe
v1.0.3-6-g0c2b1cf
1、6:表示自打tag v1.0.3以來有6次提交(commit)
2、g0c2b1cf:g 為git的縮寫,在多種管理工具并存的環(huán)境中很有用處
3、0c2b1cf:7位字符表示為最新提交的commit id 前7位
復(fù)雜點(diǎn)的命令,就是多加入一些參數(shù)
$ git describe --tags --always --dirty="-dev"
v1.0.3-6-g0c2b1cf-dev
1、如果當(dāng)前版本已經(jīng)有tag則直接輸出此tag名:v1.0.3
2、如果不是,則輸出v1.0.3-6-g0c2b1cf,含義如上面所述
3、如果本地倉(cāng)庫有修改,則認(rèn)為是dirty的,則追加-dev,表示是開發(fā)版:v1.0.3-6-g0c2b1cf-dev