區(qū)別:1、tag是一系列commit的中的一個(gè)點(diǎn),只能查看,不能移動(dòng);而branch是一系列串聯(lián)的commit的線,可以繼續(xù)延展。2、tag是靜態(tài)的,branch是動(dòng)態(tài)的,要向前走。
本教程操作環(huán)境:Windows7系統(tǒng)、Git2.30.0版、Dell G3電腦。
tag 和branch的區(qū)別
-
Git tag是一系列commit的中的一個(gè)點(diǎn),只能查看,不能移動(dòng)。branch是一系列串聯(lián)的commit的線。
-
tag是靜態(tài)的,branch是動(dòng)態(tài)的,要向前走。
git tag的用法
- 我們常常在代碼封板時(shí),使用git 創(chuàng)建一個(gè)tag ,這樣一個(gè)不可修改的歷史代碼版本就像被我們封存起來一樣,不論是運(yùn)維發(fā)布拉取,或者以后的代碼版本管理,都是十分方便的
git的tag功能
git 下打標(biāo)簽其實(shí)有2種情況
- 輕量級(jí)的:它其實(shí)是一個(gè)獨(dú)立的分支,或者說是一個(gè)不可變的分支.指向特定提交對(duì)象的引用
-
帶附注的:實(shí)際上是存儲(chǔ)在倉庫中的一個(gè)獨(dú)立對(duì)象,它有自身的校驗(yàn)和信息,包含著標(biāo)簽的名字,標(biāo)簽說明,標(biāo)簽本身也允許使用 GNU Privacy Guard (GPG) 來簽署或驗(yàn)證,電子郵件地址和日期,一般我們都建議使用含附注型的標(biāo)簽,以便保留相關(guān)信息
所以我們推薦使用第二種標(biāo)簽形式
創(chuàng)建tag
-
git tag -a V1.2 -m ‘release 1.2’
上面的命令我們成功創(chuàng)建了本地一個(gè)版本 V1.2 ,并且添加了附注信息 ‘release 1.2’
查看tag
-
git tag
要顯示附注信息,我們需要用 show 指令來查看
-
git show V1.2
但是目前這個(gè)標(biāo)簽僅僅是提交到了本地git倉庫.如何同步到遠(yuǎn)程代碼庫
-
git push origin –tags
如果剛剛同步上去,你缺發(fā)現(xiàn)一個(gè)致命bug ,需要重新打版本,現(xiàn)在還為時(shí)不晚.
-
git tag -d V1.2
到這一步我們只是刪除了本地 V1.2的版本,可是線上V1.2的版本還是存在,如何辦?這時(shí)我們可以推送的空的同名版本到線下,達(dá)到刪除線上版本的目標(biāo):
-
git push origin :refs/tags/V1.2
如何獲取遠(yuǎn)程版本?
-
git fetch origin tag V1.2
這樣我們可以精準(zhǔn)拉取指定的某一個(gè)版本.適用于運(yùn)維同學(xué)部署指定版本.
推薦學(xué)習(xí):《Git教程》