天天看點

Git Tag 的使用

Git 提供了一個叫 tag的東西,即标簽。

作用

每一次commit都會生成一串字元ID,如下所示:

commit 7f2de2b2560e5d0623d64ef56f2128ed4ab532e0

這在正常的開發流程中沒有什麼問題,也不會去關心,但是等我們要釋出的時候,或者已經釋出了幾個版本之後,要找回之前釋出的版本到底是在哪個送出呢?

記住這串id嗎? No way! 标簽 (tag) 的作用就在這裡了。

使用

在Git中tag有兩種,一種叫輕量标簽,一種叫附注标簽。

  • 輕量标簽:隻是對某次送出的一個引用,也就是說,也就是一串比較好記的id。
  • 附注标簽:是一個獨立的對象,也就是說會存有一分獨立的代碼,類似一個分支。

對于我們在項目中來說,使用附注标簽肯定更靠譜一點。

輕量标簽

git tag v0
           

附注标簽

-a 其實也就是annotated,附注的意思, 而 -m 則指定了說明資訊。

顯示标簽

git tag

v0
v0
v0
           

還可通過 -l 的參數來過濾展示标簽

git tag -l "v0.1.*"

v0
v0
           

檢視具體的标簽内容

git tag v0
tag v0
Tagger: linmiansheng
Date:   Tue Dec  ::  +

 Version on --

commit a609b85b2a51fcc54ced9a98b7e525a811c9590
Author: linmiansheng 
Date:   Tue Dec  ::  +

    bugfix

diff --git a/app/src/main/java/com/Test.java
b/app/src/main/java/com/Test.java
index d1..b83f76e 
...
           

删除标簽

git tag -d v0
           

推送标簽

附注标簽就類似分支一樣,是以也需要我們使用push指令來進行推送。

  • 單獨推送某個标簽
git push origin v.
           
  • 一次性推送所有标簽

利用 –tag 參數,可将本地的所有tag都推送到遠端伺服器上。

其他如checkout操作等,就把tag當作一個分支使用即可。