git tag 介绍
命令是用来给当前项目状态(在某次commit后)打标签的,目的是便于以后将项目状态回滚到当时打标签的状态。可以把它与虚拟机的snapshot(快照)进行类比。
回想当时在看《Flask Web开发:基于python的Web应用开发实战》一书时,作者提供了一个在github上的flasky项目源码,git clone下来后,作者在不同的章节会让切换到不的tag,方便教学,这也许是tag的另外一个用处。
下面以tool项目为例,简单介绍一下git tag 的相关用法:
1.查看本项目所有tag,git tag 或 git tag -l
2.添加tag git tag 标签名
git tag v1.0 会在当前commit打上名为“v1.0”的标签;
git tag v1.1 3a11706f8 会在commit id为 3a11706f8的那次提交打上“v1.1"的标签,即可以指定commit id来打标签
git tag -a v1.0 -m "relase v1.0" ,-a指定标签名,-m指定说明文字
git tag -a v1.1 -m "relase v1.1" 3a11706f8 也是可以得。
以上四种是添加tag的所有方法,另外,我发现可以同一次commit提交打多个tag。
3.删除tag git tag -d 标签名
git tag -d v1.0
4.将本地的tag推到远程
git push origin v1.0 仅将v1.0的标签推到远程
git push origin --tags 将所有未推送的标签都推到远程
5.删除远程tag
step1: 删除本地tag git tag -d v1.0
step2:git push origin :refs/tags/v1.0
6.查看标签信息 git show 标签名
git show v1.0