**pro git中文版
因為git不會為每次提交自動附加類似』v123』的遞增序列,所以如果你想要得到乙個便於理解的提交號可以執行git describe命令。git將會返回乙個字串,由三部分組成:最
近一次標定的版本號,加上自那次標定之後的提交次數,再加上一段sha-1值of the commityou』re describing
$ git describe master
v1.6.2-rc1-20-g8c5b85c
標籤的提交上執行describe命令,只會得到這次標定的版本號,而沒有後面兩項資訊。
git describe命令只適用於有標註的標籤(通過-a或者-s選項建立的標籤),所以發行版的標籤都應該是帶有標註的,以保證git describe能夠正確的執行。你也可以把這個字串
作為checkout或者show命令的目標,因為他們最終都依賴於乙個簡短的sha-1值,當然如果這個sha-1值失效他們也跟著失效。最近linux核心為了保證sha-1值的唯一性,將位數由8位擴充套件到10位,這就導致擴充套件之前的git describe輸出完全失效了。
現在可以發布乙個新的版本了。首先要將**的壓縮包歸檔,方便那些可憐的還沒有使用git的人們。可以使用git archive:
$ git archive master --prefix='project/' | gzip > `git describe master`.tar.gz
$ ls *.tar.gz
v1.6.2-rc1-20-g8c5b85c.tar.gz
這個壓縮包解壓出來的是乙個資料夾,裡面是你專案的最新**快照。你也可以用類似的方法建立乙個zip壓縮包,在git archive加上--format=zip選項:
$ git archive master --prefix='project/' --format=zip > `git describe master`.zip
現在你有了乙個tar.gz壓縮包和乙個zip壓縮包,可以把他們上傳到你**上或者用e-mail發給別人。
是時候通知郵件列表裡的朋友們來檢驗你的成果了。使用git shortlog命令可以方便快捷的製作乙份修改日誌(changelog),告訴大家上次發布之後又增加了哪些特性和修復
了哪些bug。實際上這個命令能夠統計給定範圍內的所有提交;假如你上一次發布的版本是v1.0.1,下面的命令將給出自從上次發布之後的所有提交的簡介:
$ git shortlog --no-merges master --not v1.0.1
chris wanstrath (8):
add support for annotated tags to grit::tag
add packed-refs annotated tag support.
add grit::commit#to_patch
update version and history.txt
remove stray `puts`
make ls_tree ignore nils
tom preston-werner (4):
fix dates in history
dynamic version method
version bump to 1.0.2
regenerated gemspec for version 1.0.2
這就是自從v1.0.1版本以來的所有提交的簡介,內容按照作者分組,以便你能快速的發e-mail給他們。
git 生成版本號 git describe
如果使用git命令列工具,產生版本號?git describe如果符合條件的tag指向最新提交則只是顯示tag的名字 否則會有相關的字尾來描述該tag之後有多少次提交以及最新的提交commit id。不加任何引數的情況下,git describe 只會列出帶有注釋的tag git describe ...
CMake生成版本號
cmake生成版本號 金慶的專欄 原來的cmake需要用shell指令碼生成svn版本號,再作為cmake引數傳入。cmake呼叫指令碼示例 bin sh cmake.sh servercoderoot code server coderevnum svn info grep revision aw...
Git 標籤(版本號)
在git中打標籤非常簡單,首先,切換到需要打標籤的分支上 1 git branch 2 dev 3master 4 git checkout master 5 switched to branch master 然後,敲命令git tag就可以打乙個新標籤 git tag v1.0 可以用命令git...