Git中tag標(biāo)簽的使用教程
一、tag簡介
tag是git版本庫的一個(gè)標(biāo)記,指向某個(gè)commit的指針。
tag主要用于發(fā)布版本的管理,一個(gè)版本發(fā)布之后,我們可以為git打上 v.1.0.1 ,v.1.0.2 …這樣的標(biāo)簽。
tag感覺跟branch有點(diǎn)相似,但是本質(zhì)上和分工上是不同:
tag對(duì)應(yīng)某次commit,是一個(gè)點(diǎn),是不可移動(dòng)的。
branch 對(duì)應(yīng)一系列commit,是很多點(diǎn)連成的一根線,有一個(gè)HEAD 指針,是可以依靠 HEAD 指針移動(dòng)的。
所以,兩者的區(qū)別決定了使用方式,改動(dòng)代碼用 branch ,不改動(dòng)只查看用 tag。
tag 和 branch 的相互配合使用,有時(shí)候起到非常方便的效果,例如:已經(jīng)發(fā)布了 v1.0 v2.0 v3.0 三個(gè)版本,這個(gè)時(shí)候,我突然想不改現(xiàn)有代碼的前提下,在 v2.0 的基礎(chǔ)上加個(gè)新功能,作為 v4.0 發(fā)布。就可以檢出 v2.0 的代碼作為一個(gè) branch ,然后作為開發(fā)分支。
二、tag使用命令
1、列出所有tag
git tag //默認(rèn)顯示 git tag -l git tag -n //查看所有tag和說明 git tag -l v1.* //查看匹配到的tag git ls-remote --tags origin //查看遠(yuǎn)程所有tag
2、查看tag信息
git show v1.0.1 //查看v1.0.1的內(nèi)容
3、創(chuàng)建tag
git tag v2.0 git push origin //遠(yuǎn)程tag的創(chuàng)建
4、創(chuàng)建帶注釋tag
git tag -a v2.1 -m '第二版本' ////-m 后跟的是注釋信息, 當(dāng)使用git show v2.1的時(shí)候, 會(huì)顯示這個(gè)注釋信息 git push origin //遠(yuǎn)程tag的創(chuàng)建
5、推送tag
git push origin [tagname] //推送到遠(yuǎn)程倉庫 git push origin --tags //推送所有tag到遠(yuǎn)程倉庫
6、特定commit_id創(chuàng)建tag
git log --pretty=oneline //查看當(dāng)前分支的提交歷史 里面包含 commit_id git tag -a
7、刪除tag
git tag -d //方式一 git tag -d [tagname] //方式二 git push origin :refs/tags/v1.0.2 //方式一:遠(yuǎn)程tag的刪除 git push origin --delete <tagname> //方式二:遠(yuǎn)程tag的刪除
8、檢出tag
git checkout -b //因?yàn)?tag 本身指向的就是一個(gè) commit,所以和根據(jù)commit id 檢出分支是一個(gè)道理。 //但是需要特別說明的是,如果我們想要修改 tag檢出代碼分支,那么雖然分支中的代碼改變了,但是 tag標(biāo)記的 commit還是同一個(gè),標(biāo)記的代碼是不會(huì)變的,這個(gè)要格外的注意
git checkout -b branch_name tag_name //新建分支檢出 //注意不要在檢出標(biāo)簽后做修改和提交,會(huì)出現(xiàn)不必要的麻煩。正確的做法應(yīng)該是創(chuàng)建一個(gè)新的分支,在新的分支上做修改和提交。
9、切換tag
git checkout [tagname] //切換到指定tag
10、為之前提交的添加tag
git log --pretty=oneline --abbrev-commit //第一步:找到提記錄 git tag -a v3.1 [指定標(biāo)簽名] [commitID] //第二步:為記錄創(chuàng)建tag //git tag -a "v1.0.2" 9fbc3d0
11、重命名tag
//1.強(qiáng)制替換,再刪除原有 git tag -f <new-tag> <old-tag> git tag -d <old-tag>
//2.刪除原有tag,重新添加 git tag -d <old-tag> git tag -a <new-tag> -m"information"
到此這篇關(guān)于Git中tag使用教程的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Bottle部署web服務(wù)及postman接口的方法
這篇文章主要介紹了Bottle部署web服務(wù)及postman接口的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
MobaXterm詳細(xì)使用圖文教程(MobaXterm連接Linux服務(wù)器)
這篇文章主要介紹了MobaXterm詳細(xì)使用教程,介紹一下如何設(shè)置并用MobaXterm來連接Linux服務(wù)器,本文介紹了三種連接方式:SSH,F(xiàn)TP,serial,以及幾個(gè)有用的設(shè)置和命令,需要的朋友可以參考下2023-05-05
使用selenium自動(dòng)控制瀏覽器找不到Chromedriver問題
這篇文章主要介紹了ChromeDriver安裝與配置問題的解決方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02
ChatGpt無法訪問或錯(cuò)誤碼1020的幾種解決方案
ChatGPT是一種語言模型,它被訓(xùn)練來對(duì)對(duì)話進(jìn)行建模,下面這篇文章主要給大家介紹了關(guān)于ChatGpt無法訪問或錯(cuò)誤碼1020的幾種解決方案,文中介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02
EventStore文件存儲(chǔ)設(shè)計(jì)詳解
ENode是一個(gè)CQRS+Event Sourcing架構(gòu)的開發(fā)框架,這篇文章主要介紹了EventStore文件存儲(chǔ)設(shè)計(jì) ,需要的朋友可以參考下2019-05-05

