天天看點

[Android Pro] git 打标簽、推送tag到托管伺服器、驗證是否成功

reference to : http://www.cnblogs.com/ShaYeBlog/p/5576601.html

我們常常在代碼封闆時,使用git 建立一個tag ,這樣一個不可修改的曆史代碼版本就像被我們封存起來一樣,不論是運維釋出拉取,或者以後的代碼版本管理,都是十分友善的.

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

git 下打标簽其實有2種情況

(1): 輕量級的

它其實是一個獨立的分支,或者說是一個不可變的分支.指向特定送出對象的引用.

(2):帶附注的

實際上是存儲在倉庫中的一個獨立對象,它有自身的校驗和資訊,包含着标簽的名字,标簽說明,标簽本身也允許使用 GNU Privacy Guard (GPG) 來簽署或驗證,電子郵件位址和日期,一般我們都建議使用含附注型的标簽,以便保留相關資訊.

 可以依據自己的情況選擇TAG類型。

以第二種為例子:

建立标簽:

1

<code>xxx@moke:~</code><code>/code/demo</code><code>$git tag -a V1.2 -m </code><code>'WebSite version 1.2'</code>

上面的指令我們成功建立了本地一個版本 V1.2 ,并且添加了附注資訊 'WebSite version 1.2' 

 檢視标簽:

2

3

4

<code>xxx@moke:~</code><code>/code/demo</code><code>$ git tag</code>

<code>V1.0</code>

<code>V1.1</code>

<code>V1.2</code>

我們看到本地有3個标簽,最下面的 V1.2 就是剛才送出的,但是沒有顯示出來我們附注資訊.

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

5

6

7

8

9

10

11

12

13

<code>xxxx@moke:~</code><code>/code/demo</code><code>$ git show V1.2</code>

<code>tag V1.2</code>

<code>Tagger: xxxx &lt;[email protected]&gt;</code>

<code>Date:   Wed Jul 21 18:42:35 2015 +0800</code>

<code> </code> 

<code>WebSite version 1.2</code>

<code>commit 853cecc248756d0189d2a328dc22fa6781a65265</code>

<code>Merge: 1f23b2b 00cfb5b</code>

<code>Author: xxxxx &lt;[email protected]&gt;</code>

<code>Date:   Wed Jul 21 18:38:36 2015 +0800</code>

<code>    </code><code>Merge branch </code><code>'master'</code> <code>into </code><code>test</code>

上面顯示出來了 V1.2 标簽的所有送出資訊.

但是目前這個标簽僅僅是送出到了本地git倉庫.如何同步到遠端代碼庫

tag 遠端推送:

<code>xxx@moke:~</code><code>/code/demo</code><code>$git push origin --tags</code>

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

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

删除标簽:

<code>xxx@moke:~</code><code>/code/demo</code><code>$git tag -d V1.2</code>

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

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

<code>xxx@moke:~</code><code>/code/demo</code><code>$git push origin :refs</code><code>/tags/V1</code><code>.2</code>

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

如何擷取遠端版本:

<code>xxx@moke:~</code><code>/code/demo</code><code>$git fetch origin tag V1.2</code>

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

最後驗證遠端伺服器TAG :

<code>git </code><code>ls</code><code>-remote -h -t [email protected]:xxx</code><code>/xxx</code><code>.git</code>

 [email protected]:xxx/xxx.git 可以省略。

本文轉自demoblog部落格園部落格,原文連結http://www.cnblogs.com/0616--ataozhijia/p/6484794.html如需轉載請自行聯系原作者

demoblog

繼續閱讀