原文链接
Git
对于开发者来说是个非常必要的工具,它能非常方便的维护多人共享的代码库
Git-scm
简单的定义:
Git
是一个开源的分布式版本控制系统,设计用来快速有效的管理各种小项目和大项目
如果你还不知道Git
,我推荐你首先学习一些基础知识
在这篇文章中,我们将学习到什么是git tag
,为什么要使用它和什么时候以及怎么使用它。这因该足够让你在你的项目使用它了
让我们开始吧
git tag
git tag
实际上是指向了Git history 中的一个commit,它可以标记git history中某个的commit,以后可以方便的找到它
你可以将 tag 看做是一个不变的分支
Tag 代表某个特定分支在一定时刻的版本。所以,tag 本质上是开发者在程序中做的一个标记
git tag
你肯定看到过v1.0.0
这样的标记。它表示一个产品的版本号。通常,当产品有重大的更新并且需要推送给用户时,就会创建一个tag。
tag 通常用户标记一个里程碑,例如可以发布给用户或者企业的新功能或一些bug修复
你肯定不希望每次修复Bug都要推送给客户,Tag 可以确保用户使用的是某个特定时刻的版本,而不需要每次代码的新提交都推送给客户。
git tag
现在你已经知道了tag的应用场景,下面就开始看看怎么使用它
tag
git tag <tag_name> // Eg. git tag v1.0.1 复制代码
这条命令会将最新的commit打上tag,tag_name
就是你要起得tag 名字,通常是类似v1.0.1这种。当然你也可以命名任何你喜欢的名字
通常 tag name 是:
v<major>.<minor>.<patch> 复制代码
创建了tag之后,可以push到远端代码库
git push --tags 复制代码
也可以为tag添加描述信息
git tag -a <tag_name> -m "message" 复制代码
-a
是什么意思呢?下面来看看
tag
类型一共有两种tag
类型:
附注标签存储一个额外的信息,比如作者、发行说明、tag 信息存储为Git仓库中完整的数据,这些数据对于一个公开的项目是非常重要的
-a
表示该tag是附注标签
git tag -a v1.0.1 -m "First release" 复制代码
轻量标签时最简单的打tag的方式,它只存储tag name和关联的commit的hash值,不包含额外的信息,就类似于一个书签
git tag v2.1-lw 复制代码
lw
表示轻量级标签,在tag name中加lw
是为了更好的可读性
git tag <tag_name> <commit_sha> 复制代码
上面的命令可以让你为一些老的commit打tag
tag
git tag 复制代码
这条命令将会展示所有存在的tag
输出可能是这样:
1.0.0 1.0.1 1.0.2 1.0.3 2.0.0 2.1.0 复制代码
你可以使用-l
或者--list
选项利用正则表达式进行过滤
git tag -l "1.0*" 复制代码
结果:
1.0.0 1.0.1 1.0.2 复制代码
tag
信息git show <tag_name> // Eg. git show v1.0.1 复制代码
将会展示作者、tag 信息、commit信息等其他信息
tag
git tag -d <tag_name> 复制代码
tag
git push origin <branch> --tags 复制代码
将会把本地tag
推送到远程仓库
tag
git fetch --tags 复制代码
将会把远程仓库tag
拉取到本地
tag
git checkout <tag_name> // Eg. git checkout v1.0.1 复制代码
你可以用这条命名,将代码回退到打某个tag
的时候
你现在已经掌握了Git tag
,开始在你的项目中应用起来吧😁
更多学习资源:
我的博客地址: https://qiuqideblog.com