赞
踩
什么是Git tags?
标记主要是指Git提交历史的某个点的引用(即里程碑)。tags允许你捕获你代码提交历史中某个记录,以便以后随时使用。
你可以将标签(tag)视作是不变的分支(branch)
标签代表某一时刻一个特殊分支的版本。也就是说,tags本质上是开发者在开发进程中标记的一个重要的检出点。
为什么使用和什么时候使用?
你一定见过像V1.0.0这样的东西。这通常意味着产品发行号或者版本号。通常,当完成一些重大更改并需要交付给用户时,就会创建一个tag。
标签通常用于标记某个里程碑,例如可以发布新功能或者一些bug修复。
你不希望这种情况一次又一次的改变。因此,使用标签可以确保用户获得在特定时间点创建的版本,而不用考虑添加到代码库的新提交。
如何使用Git tag
现在你已经知道了什么情况下使用标签,让我们看看如何在实际工作中使用标签。
是时候开始使用标签了。✅
创建一个tag
git tag <tag_name>
// Eg. git tag v1.0.1
1
2
此命令标记当前分支中的最新提交。在这里tag_name就是你要为这次commit打的标签(tag)。通常标签命像v1.0.1这样,当然你也可以随心所欲的给它起任何名字。
通常遵循的命名模式是这样的 -
v<major>.<minor>.<patch>
1
major(主版本号):重大变化
minor(次要版本号):版本与先前版本兼容
patch(补丁号):bug修复
创建tag后,你可以将它推送到远程版本库 -
git push --tags
你也可以在创建tag时附加一些信息
git tag -a <tag_name> -m "message"
// Eg. git tag -a v1.0.1 -m "第一次发布"
等等, 这里的-a是什么?让我们深入探讨一下
标签类型
git中的标签有两种类型 -
Annonated(带注解的标签)
Lightweight(轻量级的标签)
带注解的标签(Annonated Git tags)
带注解的标签将额外的元数据(如作者名字、发行说明、标签信息和日期)存储为Git数据库中的完整对象。这些信息对于项目的公开发布很重要。
上面示例中的-a就是给标签添加注解
git tag -a v1.0.1 -m "First release"
轻量级标签(Lightweight Git tags)
轻量级标签是添加tag最简单的方法。他们只保存引用的commit的名字和hash,不包含任何其他额外的信息。它们的作用就像简单的书签。
git tag v2.1-lW
lw表示它是一个轻量化标签(Lightweight)。是否添加lw是可选的,它只是为了提高可读性。
为特定的commit创建tag
git tag <tag_name> <commit_sha>
1
如果你想为一些较早的commit创建tag,可以使用上述命令来实现。
列出所有标签
git 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
获取标签的详细信息
git show <tag_name>
// Eg. git show v1.0.1
这会显示作者、标签消息、各自的commit、日期和其它详细信息。
删除标签
git tag -d <tag_name>
推送标签
git push origin <branch> --tags
使用这个命令将你的tag推送到远程仓库。
拉取标签
git fetch --tags
使用这个命令可以将远程仓库的标签拉取(同步)到当前分支。
检出标签 (Checkout tags)
git checkout <tag_name>
// Eg. git checkout v1.0.1
当你像让代码仓库的状态回到某个特定标签(里程碑)的状态,你可以使用上述命令检出(checkout)特定的标签(tag)。
你现在对Git中的标签(tags)已经有了很好的了解了。现在开始在你的项目中使用标签吧。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。