如果你達(dá)到一個(gè)重要的階段,并希望永遠(yuǎn)記住那個(gè)特別的提交快照,你可以使用 git tag 給它打上標(biāo)簽。
比如說(shuō),我們想為我們的bjpowernode項(xiàng)目發(fā)布一個(gè)"1.0"版本。 我們可以用 git tag -a v1.0 命令給最新一次提交打上(HEAD)"v1.0"的標(biāo)簽。
-a 選項(xiàng)意為"創(chuàng)建一個(gè)帶注解的標(biāo)簽"。 不用 -a 選項(xiàng)也可以執(zhí)行的,但它不會(huì)記錄這標(biāo)簽是啥時(shí)候打的,誰(shuí)打的,也不會(huì)讓你添加個(gè)標(biāo)簽的注解。 我推薦一直創(chuàng)建帶注解的標(biāo)簽。
$ git tag -a v1.0
當(dāng)你執(zhí)行 git tag -a 命令時(shí),Git 會(huì)打開(kāi)你的編輯器,讓你寫(xiě)一句標(biāo)簽注解,就像你給提交寫(xiě)注解一樣。
現(xiàn)在,注意當(dāng)我們執(zhí)行 git log --decorate 時(shí),我們可以看到我們的標(biāo)簽了:
* d5e9fc2 (HEAD -> master) Merge branch 'change_site'
|\
| * 7774248 (change_site) changed the bjpowernode.php
* | c68142b 修改代碼
|/
* c1501a2 removed test.txt、add bjpowernode.php
* 3e92c19 add test.txt
* 3b58100 第一次版本提交
如果我們忘了給某個(gè)提交打標(biāo)簽,又將它發(fā)布了,我們可以給它追加標(biāo)簽。
例如,假設(shè)我們發(fā)布了提交 85fc7e7(上面實(shí)例最后一行),但是那時(shí)候忘了給它打標(biāo)簽。 我們現(xiàn)在也可以:
$ git tag -a v0.9 85fc7e7
$ git log --oneline --decorate --graph
* d5e9fc2 (HEAD -> master) Merge branch 'change_site'
|\
| * 7774248 (change_site) changed the bjpowernode.php
* | c68142b 修改代碼
|/
* c1501a2 removed test.txt、add bjpowernode.php
* 3e92c19 add test.txt
* 3b58100 (tag: v0.9) 第一次版本提交
如果我們要查看所有標(biāo)簽可以使用以下命令:
$ git tag
v0.9
v1.0
指定標(biāo)簽信息命令:
git tag -a <tagname> -m "bjpowernode.com標(biāo)簽"
PGP簽名標(biāo)簽命令:
git tag -s <tagname> -m "bjpowernode.com標(biāo)簽"