亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

Git標簽管理

2024-07-21 02:02:54
字體:
來源:轉載
供稿:網友

前面的話

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

創建標簽

在Git中打標簽非常簡單,首先,切換到需要打標簽的分支上

然后,敲命令git tag <name>就可以打一個新標簽

可以用命令git tag查看所有標簽

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

比方說要對create b.txt這次提交打標簽,它對應的commit id是7ec9296,敲入命令:

再用命令git tag查看標簽,注意,標簽不是按時間順序列出,而是按字母排序的

可以用git show <tagname>查看標簽信息

附注標簽

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

創建一個含附注類型的標簽非常簡單,用-a(取annotated的首字母,中文意思為注釋)指定標簽名字即可,而-m選項則指定了對應的標簽說明,Git會將此說明一同保存在標簽對象中。如果沒有給出該選項,Git會啟動文本編輯軟件供你輸入標簽說明

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

我們可以看到在提交對象信息上面,列出了此標簽的提交者和提交時間,以及相應的標簽說明

簽署標簽

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

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

簽名采用PGP簽名,因此,必須首先安裝gpg(GnuPG),如果沒有找到gpg,或者沒有gpg密鑰對,就會報錯

現在再運行 git show 會看到對應的 GPG 簽名也附在其內

$ git show v0.2tag v0.2Tagger: Michael Liao <askxuefeng@gmail.com>Date: Mon Aug 26 07:28:33 2013 +0800signed version 0.2 released-----BEGIN PGP SIGNATURE-----Version: GnuPG v1.4.12 (Darwin)iQEcBAABAgAGBQJSGpMhAAoJEPUxHyDAhBpT4QQIAKeHfR3bo...-----END PGP SIGNATURE-----commit fec145accd63cdc9ed95a2f557ea0658a2a6537fAuthor: Michael Liao <askxuefeng@gmail.com>Date: Thu Aug 22 10:37:30 2013 +0800branch test

用PGP簽名的標簽是不可偽造的,因為可以驗證PGP簽名

可以使用git tag -v [tagname] (取verify的首字母,中文意思為核實)的方式驗證已經簽署的標簽。此命令會調用GPG來驗證簽名,所以你需要有簽署者的公鑰,存放在keyring中,才能驗證

$ git tag -v v1.4.2.1object 883653babd8ee7ea23e6a5c392bb739348b1eb61type committag v1.4.2.1tagger Junio C Hamano <junkio@cox.net> 1158138501 -0700GIT 1.4.2.1Minor 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 F3119B9Agpg: 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

若是沒有簽署者的公鑰,會報告類似下面這樣的錯誤:

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

操作標簽

如果標簽打錯了,也可以刪除

$ git tag -d <tagname>

因為創建的標簽都只存儲在本地,不會自動推送到遠程。所以,打錯的標簽可以在本地安全刪除。

默認情況下,git push并不會把標簽傳送到遠端服務器上,只有通過顯式命令才能推送標簽到遠端倉庫

$ git push origin <tagname>

或者,一次性推送全部尚未推送到遠程的本地標簽

$ git push origin --tags

如果標簽已經推送到遠程,要刪除遠程標簽就麻煩一點,先從本地刪除

然后,從遠程刪除。刪除命令也是push,但是格式如下

最后一個問題,如何查看發送到遠程的標簽呢?

點擊Github項目中的release

即可看到遠程標簽的信息

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美性高潮在线| 亚洲欧美日韩天堂| 午夜精品久久久久久久男人的天堂| 日韩成人中文字幕在线观看| 亚洲国产精品久久久| 欧美成人精品三级在线观看| 在线观看国产精品日韩av| 欧美成人亚洲成人| 九九热这里只有精品免费看| 欧美小视频在线| 欧美一二三视频| 国产伦精品一区二区三区精品视频| 欧美电影《睫毛膏》| 91精品视频网站| 精品香蕉在线观看视频一| 欧美日韩在线免费| 国产精品亚洲аv天堂网| 亚洲国产高清高潮精品美女| 午夜精品久久久99热福利| 日本精品一区二区三区在线| 欧美极品少妇xxxxⅹ免费视频| 亚洲天堂色网站| 97久久精品人人澡人人爽缅北| 亚洲成人精品视频| 亚洲最新中文字幕| 性欧美在线看片a免费观看| 亚洲福利视频网| 亚洲色图五月天| 亚洲综合中文字幕68页| 在线观看久久av| 精品精品国产国产自在线| 伊人久久久久久久久久久| 日韩欧美中文第一页| 欧美精品福利视频| 亚洲国产天堂久久国产91| 亚洲一区二区中文| 欧洲美女免费图片一区| 亚洲国产中文字幕在线观看| 久久九九有精品国产23| 91av在线影院| 久久久国产一区二区三区| 国产精品青草久久久久福利99| 国产精品美女午夜av| 久久躁狠狠躁夜夜爽| 亚洲一区二区国产| 欧美中文在线观看国产| 国产精品福利无圣光在线一区| 国产精品爽爽爽爽爽爽在线观看| 欧美一级淫片丝袜脚交| www.久久撸.com| 欧美天堂在线观看| 4438全国亚洲精品在线观看视频| 精品日韩中文字幕| 在线电影av不卡网址| 亚洲免费视频网站| 清纯唯美日韩制服另类| 亚洲人成欧美中文字幕| 亚洲精品久久久久中文字幕二区| 欧美午夜精品在线| 亚洲图片制服诱惑| 欧美激情视频免费观看| 精品成人国产在线观看男人呻吟| 亚洲图片在区色| 97精品国产aⅴ7777| 自拍偷拍亚洲精品| 亚洲毛茸茸少妇高潮呻吟| 欧美性高潮床叫视频| 亚洲精品美女久久久| 久久视频免费观看| 亚洲精品自拍视频| 久久99久久99精品中文字幕| 91久久久久久久久| 欧美成年人视频| 亚洲国模精品私拍| 亚洲成年人影院在线| 国产一区视频在线播放| 日本精品久久中文字幕佐佐木| 久久久久久网站| 国产精品av在线| 午夜欧美不卡精品aaaaa| 欧美色播在线播放| 亚洲成人久久电影| 欧美在线视频免费| 欧美视频不卡中文| 国产精品青草久久久久福利99| 国产精品国产亚洲伊人久久| 欧美激情免费看| 7777免费精品视频| 国产精品6699| 青青久久aⅴ北条麻妃| 欧美日韩亚洲一区二区三区| 国产精品久久久久久久久免费| 久久天天躁狠狠躁夜夜躁| 欧美在线观看日本一区| 欧美国产中文字幕| 黄网动漫久久久| 欧美一级片久久久久久久| 亚洲高清久久网| 久久久999精品免费| 神马久久久久久| 午夜精品久久久久久久白皮肤| 国产一区二区三区视频在线观看| 久久99精品国产99久久6尤物| 91九色单男在线观看| 在线观看欧美日韩国产| 永久555www成人免费| 欧美性xxxxx极品娇小| 欧美二区在线播放| 国产精品美女无圣光视频| 欧美激情综合色综合啪啪五月| 中文字幕欧美日韩| 久久久www成人免费精品张筱雨| 国产在线视频2019最新视频| 久久高清视频免费| 国产精自产拍久久久久久| 亚洲一级黄色片| 国产精品成人v| 欧美精品一二区| 成人免费看吃奶视频网站| 亚洲精品欧美日韩专区| 成人有码在线视频| 2019精品视频| 亚洲品质视频自拍网| 欧美第一黄色网| 国产日韩欧美影视| 久久天天躁狠狠躁夜夜躁2014| 国产精品综合不卡av| 欧美一区二区三区四区在线| 日韩av在线导航| 日韩hd视频在线观看| 欲色天天网综合久久| 亚洲成人精品久久久| 色多多国产成人永久免费网站| 91成人国产在线观看| 亚洲美女性生活视频| 在线视频一区二区| 深夜福利一区二区| 欧美激情第三页| 国产亚洲精品综合一区91| 久久91精品国产91久久跳| 国产一区二区三区在线看| 亚洲第一页自拍| 91精品国产色综合久久不卡98| 国产精品久久77777| 欧美极品少妇xxxxⅹ裸体艺术| 2019中文字幕免费视频| 国产成人精彩在线视频九色| 国产98色在线| 亚洲一区二区免费在线| 欧美激情精品久久久久久变态| 在线观看成人黄色| 日日骚久久av| 一个人www欧美| 国产69久久精品成人看| 亚洲一区美女视频在线观看免费| 国产亚洲精品一区二555| 欧美激情久久久久久| 在线观看不卡av| 正在播放欧美一区| 欧洲成人在线视频| 国产精品久久久久av| 久久视频在线免费观看| 久久99久国产精品黄毛片入口| 成人午夜两性视频|