git tag 介绍
git跟其它版本控制系统一样,可以打标签(tag), 作用是标记一个点为一个版本号,如0.1.3, v0.1.7, ver_0.1.3。
在程序开发到一个阶段后,我们需要打个标签,发布一个版本,标记的作用显而易见。
[TOC]
打标签
在本地仓库打标签
打标签
git tag -a v2.0 -m '小程序完成微信支付功能'
- -a v2.0是增加 名为"v2.0"的标签
- -m 后面跟着的是标签的注释
推送到远程服务器
git push origin --tags
- --tags参数表示提交所有tag至服务器端,普通的git push origin master操作不会推送标签到服务器端。
查看标签 git tag
列出tag
$ git tag
v2.1
git tag 可以带一个 -l 的参数,支持通配符
例如:
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个待发布的版本。某一天想上线其中的一个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