We have a git repo and we want to tag the current commit with 'new_tag'.
為倉庫當(dāng)前的提交增加一個(gè)名為 'new_tag' 的標(biāo)簽。
把開發(fā)一個(gè)項(xiàng)目當(dāng)作一次旅行,如果每個(gè) commit(提交) 都是從窗外晃過的一根電線桿,那么 tag(標(biāo)簽) 就是可以??康能囌?,你可以選擇一刻不停地開到終點(diǎn),也可以歇下腳看看風(fēng)景再繼續(xù)前行。鏡頭拉回到第17關(guān),上面的比喻就是 commit 和 tag 的區(qū)別,commit 是細(xì)粒度的、面向程序員的,每寫一個(gè)函數(shù)、每修正一個(gè) bug,都可以提交一個(gè) commit,而 tag 是粗粒度的、面向用戶的,一般只有在增加或優(yōu)化了一個(gè)用戶可感知的功能時(shí),才打一個(gè) tag,軟件的版本號(hào)就是最常見的 tag 形式,一個(gè)新的版本號(hào)意味著要對外發(fā)布一個(gè)新的 release 包。
打標(biāo)簽的命令如下:
$ git tag your-tag
$ git tag your-tag a38862a5a860
$ git tag
$ git tag -d your-tag
第1條命令是給最近一次提交打標(biāo)簽;第2條命令是給指定的某次提交打標(biāo)簽,后面要寫上提交的 hash 值或者 hash 值的前幾位;第3條命令是列出所有的標(biāo)簽;第4條是刪除標(biāo)簽。
第17關(guān)過關(guān)畫面如下:
http://wiki.jikexueyuan.com/project/githug-walkthrough/images/level-17-tag.png" alt="第17關(guān) tag" />