欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Git標(biāo)簽管理

 更新時(shí)間:2017年04月18日 09:29:59   作者:小火柴的藍(lán)色理想  
本篇文章主要介紹了Git標(biāo)簽管理的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧

前面的話

發(fā)布一個(gè)版本時(shí),我們通常先在版本庫(kù)中打一個(gè)標(biāo)簽(tag)。這樣,就唯一確定了打標(biāo)簽時(shí)刻的版本。將來(lái)無(wú)論什么時(shí)候,取某個(gè)標(biāo)簽的版本,就是把那個(gè)打標(biāo)簽的時(shí)刻的歷史版本取出來(lái)。所以,標(biāo)簽也是版本庫(kù)的一個(gè)快照,實(shí)質(zhì)上它就是指向某個(gè)commit的指針。所以,創(chuàng)建和刪除標(biāo)簽都是瞬間完成的。簡(jiǎn)而言之,標(biāo)簽tag就是一個(gè)讓人容易記住的有意義的名字,它跟某個(gè)commit綁在一起。本文將詳細(xì)介紹Git標(biāo)簽管理

創(chuàng)建標(biāo)簽

在Git中打標(biāo)簽非常簡(jiǎn)單,首先,切換到需要打標(biāo)簽的分支上

然后,敲命令git tag <name>就可以打一個(gè)新標(biāo)簽

可以用命令git tag查看所有標(biāo)簽

默認(rèn)標(biāo)簽是打在最新提交的commit上的。有時(shí)候,如果忘了打標(biāo)簽怎么辦呢?方法是找到歷史提交的commit id,然后打上就可以了

比方說(shuō)要對(duì)create b.txt這次提交打標(biāo)簽,它對(duì)應(yīng)的commit id是7ec9296,敲入命令:

再用命令git tag查看標(biāo)簽,注意,標(biāo)簽不是按時(shí)間順序列出,而是按字母排序的

可以用git show <tagname>查看標(biāo)簽信息

附注標(biāo)簽

實(shí)際上,Git使用的標(biāo)簽有兩種類型:輕量級(jí)的(lightweight)和含附注的(annotated)。上面介紹的就是輕量級(jí)標(biāo)簽,輕量級(jí)標(biāo)簽就像是個(gè)不會(huì)變化的分支,實(shí)際上它就是個(gè)指向特定提交對(duì)象的引用。而含附注標(biāo)簽,實(shí)際上是存儲(chǔ)在倉(cāng)庫(kù)中的一個(gè)獨(dú)立對(duì)象,它有自身的校驗(yàn)和信息,包含著標(biāo)簽的名字,電子郵件地址和日期,以及標(biāo)簽說(shuō)明,標(biāo)簽本身也允許使用GNU Privacy Guard(GPG)來(lái)簽署或驗(yàn)證。一般我們都建議使用含附注型的標(biāo)簽,以便保留相關(guān)信息;當(dāng)然,如果只是臨時(shí)性加注標(biāo)簽,或者不需要旁注額外信息,用輕量級(jí)標(biāo)簽也沒(méi)問(wèn)題

創(chuàng)建一個(gè)含附注類型的標(biāo)簽非常簡(jiǎn)單,用-a(取annotated的首字母,中文意思為注釋)指定標(biāo)簽名字即可,而-m選項(xiàng)則指定了對(duì)應(yīng)的標(biāo)簽說(shuō)明,Git會(huì)將此說(shuō)明一同保存在標(biāo)簽對(duì)象中。如果沒(méi)有給出該選項(xiàng),Git會(huì)啟動(dòng)文本編輯軟件供你輸入標(biāo)簽說(shuō)明

$ git tag -a v1.4 -m 'my version 1.4'

我們可以看到在提交對(duì)象信息上面,列出了此標(biāo)簽的提交者和提交時(shí)間,以及相應(yīng)的標(biāo)簽說(shuō)明

簽署標(biāo)簽

如果有自己的私鑰,還可以用GPG來(lái)簽署標(biāo)簽,只需要把之前的-a改為-s(取signed的首字母,中文意思為有符號(hào)的)即可

$ git tag -s v0.2 -m 'signed version 0.2 released'

簽名采用PGP簽名,因此,必須首先安裝gpg(GnuPG),如果沒(méi)有找到gpg,或者沒(méi)有g(shù)pg密鑰對(duì),就會(huì)報(bào)錯(cuò)

現(xiàn)在再運(yùn)行 git show 會(huì)看到對(duì)應(yīng)的 GPG 簽名也附在其內(nèi)

$ git show v0.2
tag v0.2
Tagger: Michael Liao <askxuefeng@gmail.com>
Date: Mon Aug 26 07:28:33 2013 +0800

signed version 0.2 released
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (Darwin)

iQEcBAABAgAGBQJSGpMhAAoJEPUxHyDAhBpT4QQIAKeHfR3bo...
-----END PGP SIGNATURE-----

commit fec145accd63cdc9ed95a2f557ea0658a2a6537f
Author: Michael Liao <askxuefeng@gmail.com>
Date: Thu Aug 22 10:37:30 2013 +0800

branch test

用PGP簽名的標(biāo)簽是不可偽造的,因?yàn)榭梢则?yàn)證PGP簽名

可以使用git tag -v [tagname] (取verify的首字母,中文意思為核實(shí))的方式驗(yàn)證已經(jīng)簽署的標(biāo)簽。此命令會(huì)調(diào)用GPG來(lái)驗(yàn)證簽名,所以你需要有簽署者的公鑰,存放在keyring中,才能驗(yàn)證

$ git tag -v v1.4.2.1
object 883653babd8ee7ea23e6a5c392bb739348b1eb61
type commit
tag v1.4.2.1
tagger Junio C Hamano <junkio@cox.net> 1158138501 -0700

GIT 1.4.2.1

Minor fixes since 1.4.2, including git-mv and git-http with alternates.
gpg: Signature made Wed Sep 13 02:08:25 2006 PDT using DSA key ID F3119B9A
gpg: Good signature from "Junio C Hamano <junkio@cox.net>"
gpg:     aka "[jpeg image of size 1513]"
Primary key fingerprint: 3565 2A26 2040 E066 C9A7 4A7D C0C6 D9A4 F311 9B9A

若是沒(méi)有簽署者的公鑰,會(huì)報(bào)告類似下面這樣的錯(cuò)誤:

gpg: Signature made Wed Sep 13 02:08:25 2006 PDT using DSA key ID F3119B9A
gpg: Can't check signature: public key not found
error: could not verify the tag 'v1.4.2.1'

操作標(biāo)簽

如果標(biāo)簽打錯(cuò)了,也可以刪除

$ git tag -d <tagname>

因?yàn)閯?chuàng)建的標(biāo)簽都只存儲(chǔ)在本地,不會(huì)自動(dòng)推送到遠(yuǎn)程。所以,打錯(cuò)的標(biāo)簽可以在本地安全刪除。

默認(rèn)情況下,git push并不會(huì)把標(biāo)簽傳送到遠(yuǎn)端服務(wù)器上,只有通過(guò)顯式命令才能推送標(biāo)簽到遠(yuǎn)端倉(cāng)庫(kù)

$ git push origin <tagname>

或者,一次性推送全部尚未推送到遠(yuǎn)程的本地標(biāo)簽

$ git push origin --tags

如果標(biāo)簽已經(jīng)推送到遠(yuǎn)程,要?jiǎng)h除遠(yuǎn)程標(biāo)簽就麻煩一點(diǎn),先從本地刪除

然后,從遠(yuǎn)程刪除。刪除命令也是push,但是格式如下

最后一個(gè)問(wèn)題,如何查看發(fā)送到遠(yuǎn)程的標(biāo)簽?zāi)兀?/p>

點(diǎn)擊Github項(xiàng)目中的release

即可看到遠(yuǎn)程標(biāo)簽的信息

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

  • 淺析git 刪除某次指定的提交問(wèn)題

    淺析git 刪除某次指定的提交問(wèn)題

    這篇文章主要介紹了git 刪除某次指定的提交問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的的朋友參考下吧
    2020-07-07
  • 關(guān)于postman上傳文件執(zhí)行成功而使用collection runner執(zhí)行失敗的問(wèn)題

    關(guān)于postman上傳文件執(zhí)行成功而使用collection runner執(zhí)行失敗的問(wèn)題

    這篇文章主要介紹了關(guān)于postman上傳文件執(zhí)行成功而使用collection runner執(zhí)行失敗的問(wèn)題,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • fiddler使用方法之Fiddler顯示IP,Fiddler中文亂碼解決方法以及fiddler模擬發(fā)送get/post請(qǐng)求

    fiddler使用方法之Fiddler顯示IP,Fiddler中文亂碼解決方法以及fiddler模擬發(fā)送get/post

    今天為大家介紹fiddler的3種使用技巧,(1)Fiddler抓包顯示域名IP(2)解決Fiddler抓包時(shí)中文亂碼問(wèn)題(3)利用fiddler模擬發(fā)送get/post請(qǐng)求的方法
    2018-10-10
  • 如何使用VSCode插件Remote-Tunnels連接服務(wù)器

    如何使用VSCode插件Remote-Tunnels連接服務(wù)器

    本文介紹使用Remote?-?Tunnels連接服務(wù)器,該方法需要遠(yuǎn)程服務(wù)器有流暢的網(wǎng)絡(luò)環(huán)境,它使用微軟的服務(wù)來(lái)建立隧道,需要登錄GitHub,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-11-11
  • 解決SecureCRT通過(guò)SSH連接Ubuntu時(shí)vi命令有多余的m的問(wèn)題

    解決SecureCRT通過(guò)SSH連接Ubuntu時(shí)vi命令有多余的m的問(wèn)題

    小編遇到這樣一個(gè)問(wèn)題用vi命令來(lái)編輯文件的時(shí)候,在開(kāi)頭和結(jié)尾有多余的字母出現(xiàn):在開(kāi)頭會(huì)有多余的“m”出現(xiàn),結(jié)尾有多余的“2m”,這篇文章主要介紹了解決SecureCRT通過(guò)SSH連接Ubuntu時(shí)vi命令有多余的m的問(wèn)題,需要的朋友可以參考下
    2022-09-09
  • 2018年GitHub賬戶注冊(cè)圖文教程(github從注冊(cè)到使用)

    2018年GitHub賬戶注冊(cè)圖文教程(github從注冊(cè)到使用)

    Github是最流行的代碼庫(kù),里面存儲(chǔ)著豐富的優(yōu)秀的開(kāi)源代碼。不僅如此,作為一款免費(fèi)的代碼存儲(chǔ)利器也是流的一逼,支持各種編程語(yǔ)言,代碼顯示效果堪稱完美,可以隨時(shí)隨地查看自己記錄的筆記
    2018-02-02
  • 瀏覽器關(guān)閉使session失效的問(wèn)題多種解決方式

    瀏覽器關(guān)閉使session失效的問(wèn)題多種解決方式

    直接關(guān)閉瀏覽器(或者強(qiáng)制關(guān)閉瀏覽器進(jìn)程、死機(jī)等),服務(wù)器無(wú)法處理用戶退出網(wǎng)站的請(qǐng)求,此舉將會(huì)導(dǎo)致session失效,下面整理了一些解決方法,感興趣的朋友可以參考下哈
    2013-07-07
  • git之遠(yuǎn)程代碼回滾master問(wèn)題

    git之遠(yuǎn)程代碼回滾master問(wèn)題

    這篇文章主要介紹了git之遠(yuǎn)程代碼回滾master問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 解決git誤commit大文件導(dǎo)致不能push問(wèn)題

    解決git誤commit大文件導(dǎo)致不能push問(wèn)題

    這篇文章主要介紹了解決git誤commit大文件導(dǎo)致不能push問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Git配置別名簡(jiǎn)化操作命令方式詳解

    Git配置別名簡(jiǎn)化操作命令方式詳解

    這篇文章主要為大家介紹了Git配置別名簡(jiǎn)化操作命令方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06

最新評(píng)論