git tag 介紹
git跟其它版本控制系統(tǒng)一樣,可以打標簽(tag), 作用是標記一個點為一個版本號,如0.1.3, v0.1.7, ver_0.1.3。
在程序開發(fā)到一個階段后,我們需要打個標簽,發(fā)布一個版本,標記的作用顯而易見。
[TOC]
打標簽
在本地倉庫打標簽
打標簽
git tag -a v2.0 -m '小程序完成微信支付功能'
- -a v2.0是增加 名為"v2.0"的標簽
- -m 后面跟著的是標簽的注釋
推送到遠程服務器
git push origin --tags
- --tags參數(shù)表示提交所有tag至服務器端,普通的git push origin master操作不會推送標簽到服務器端。
查看標簽 git tag
列出tag
$ git tag
v2.1
git tag 可以帶一個 -l 的參數(shù),支持通配符
例如:
git tag -l version1.*
這樣就只會列出1.幾的版本。
git tag -l v*
這樣就只會列出v打頭的版本。
查看某個tag的詳情
$ git show v1.4
tag v1.4
Tagger: Scott Chacon
Date: Mon Feb 9 14:45:11 2009 -0800
my version 1.4
commit 15027957951b64cf874c3557a0f3547bd83b3ff6
Merge: 4a447f7… a6b4c97…
Author: Scott Chacon
Date: Sun Feb 8 19:02:46 2009 -0800
Merge branch ‘experiment’
刪除tag
刪除本地倉庫的 tag
命令:
git tag -d v2.0
就把名為 v2.0 的tag 刪除了。
刪除遠程服務器上的tag
命令:
git push origin :refs/tags/v2.0
切換到 某一個tag
git checkout v2.0
假如遠程倉庫里保存了N個待發(fā)布的版本。某一天想上線其中的一個tag為 v2.1 的版本。
假設是重新拉取,操作如下:
git clone reome_url
git checkout v2.1
拉取 tag
命令:
git pull origin --tags
或者:
git fetch --tags
這種情況,應該是沒有重新從遠程服務器clone整個倉庫的情況下。即:目前本地倉庫里沒有包含或者部分包含全部tag的情況下。
如果想從遠程倉庫拉取某個特定的tag
git pull origin :remotes/origin/v2.1
例子
從提交到打標簽完整的例子:
git add .
git commit -m "微信支付做完了"
git tag -a v2.0 -m '小程序完成微信支付功能'
git push origin --tags
git pull origin :remotes/origin/v2.1