git 打標籤並推送tag到託管伺服器

2022-03-14 02:10:28 字數 2221 閱讀 1947

我們常常在**封板時,使用git 建立乙個tag ,這樣乙個不可修改的歷史**版本就像被我們封存起來一樣,不論是運維發布拉取,或者以後的**版本管理,都是十分方便的.

首先我們了解下 git 的 tag 功能:

git 下打標籤其實有2種情況

(1): 輕量級的

它其實是乙個獨立的分支,或者說是乙個不可變的分支.指向特定提交物件的引用.

(2):帶附註的

實際上是儲存在倉庫中的乙個獨立物件,它有自身的校驗和資訊,包含著標籤的名字,標籤說明,標籤本身也允許使用 gnu privacy guard (gpg) 來簽署或驗證,電子郵件位址和日期,一般我們都建議使用含附註型的標籤,以便保留相關資訊.

所以我們推薦使用第二種標籤形式.

建立標籤:

1zhangzhi@moke:~/code/demo$git tag -a v1.2 -m'website version 1.2'

上面的命令我們成功建立了本地乙個版本 v1.2 ,並且新增了附註資訊 'website version 1.2' 

檢視標籤:12

34zhangzhi@moke:~/code/demo$ git tag

v1.0

v1.1

v1.2

我們看到本地有3個標籤,最下面的 v1.2 就是剛才提交的,但是沒有顯示出來我們附註資訊.

要顯示附註資訊,我們需要用 show 指令來檢視.12

3456

78910

1112

13zhangzhi@moke:~/code/demo$ git show v1.2

tag v1.2

tagger: zhangzhi

date:   wed jul 21 18:42:35 2015 +0800

website version 1.2

commit 853cecc248756d0189d2a328dc22fa6781a65265

merge: 1f23b2b 00cfb5b

author: zhangzhi

date:   wed jul 21 18:38:36 2015 +0800

merge branch'master'intotest

上面顯示出來了 v1.2 標籤的所有提交資訊.

但是目前這個標籤僅僅是提交到了本地git倉庫.如何同步到遠端**庫

tag 遠端推送:

1zhangzhi@moke:~/code/demo$git push origin --tags

這樣我們就把本地版本推送到了遠端**倉庫.

如果剛剛同步上去,你缺發現乙個致命bug ,需要重新打版本,現在還為時不晚.

刪除標籤:

1zhangzhi@moke:~/code/demo$git tag -d v1.2

到這一步我們只是刪除了本地 v1.2的版本,可是線上v1.2的版本還是存在,如何辦?

這時我們可以推送的空的同名版本到線下,達到刪除線上版本的目標:

1zhangzhi@moke:~/code/demo$git push origin :refs/tags/v1.2

這時本地和遠端的 v1.2 版本已經被我們移除掉.

如何獲取遠端版本:

1zhangzhi@moke:~/code/demo$git fetch origin tag v1.2

這樣我們可以精準拉取指定的某乙個版本.適用於運維同學部署指定版本.

git推送tag到遠端伺服器

預設情況下,git push並不會把tag標籤傳送到遠端伺服器上,只有通過顯式命令才能分享標籤到遠端倉庫。1.push單個tag,命令格式為 git push origin tagname 例如 git push origin v1.0 將本地v1.0的tag推送到遠端伺服器 2.push所有tag...

git 使用詳解 tag打標籤

git 中的tag指向一次commit的id,通常用來給開發分支做乙個標記,如標記乙個版本號。打標籤 git tag a v1.01 m relase version 1.01 註解 git tag 是打標籤的命令,a 是新增標籤,其後要跟新標籤號,m 及後面的字串是對該標籤的注釋。提交標籤到遠端倉...

Bat 建立git分支tag並推送

方便版本更新以後,給各個專案打tag並推送。設定分支 標籤資訊以後,可多次呼叫函式,給多個專案打標籤。echo off title 新建標籤 set p branchname 請輸入分支名稱 echo description rem set p branchname r4.2 rem set p t...