Git 是开发十分有必要使用的工具。它使得多人之间共享代码库的工作。
引用 Git-scm中的简单定义
Git 是一个免费开源的分布式斑斑控制系统,旨在高效高速的处理一切小型到非常大型的项目。
如果你不了解git,我建议你先学习基础知识 -
在本篇文章中,我们讲讲解什么是Git tags、什么时候及为什么要使用Git tags和如何使用Git tags。这应该足以让你在开始你的项目中轻松的使用tags。
标记主要是指Git提交历史的某个点的引用(即里程碑)。tags允许你捕获你代码提交历史中某个记录,以便以后随时使用。
你可以将标签(tag)视作是不变的分支(branch)
标签代表某一时刻一个特殊分支的版本。也就是说,tags本质上是开发者在开发进程中标记的一个重要的检出点。
你一定见过像V1.0.0这样的东西。这通常意味着产品发行号或者版本号。通常,当完成一些重大更改并需要交付给用户时,就会创建一个tag。
标签通常用于标记某个里程碑,例如可以发布新功能或者一些bug修复。
你不希望这种情况一次又一次的改变。因此,使用标签可以确保用户获得在特定时间点创建的版本,而不用考虑添加到代码库的新提交。
现在你已经知道了什么情况下使用标签,让我们看看如何在实际工作中使用标签。
是时候开始使用标签了。✅
git tag <tag_name>
// Eg. git tag v1.0.1
此命令标记当前分支中的最新提交。在这里tag_name
就是你要为这次commit打的标签(tag)。通常标签命像v1.0.1
这样,当然你也可以随心所欲的给它起任何名字。
通常遵循的命名模式是这样的 -
v<major>.<minor>.<patch>
创建tag后,你可以将它推送到远程版本库 -
git push --tags
你也可以在创建tag时附加一些信息
git tag -a <tag_name> -m "message"
// Eg. git tag -a v1.0.1 -m "第一次发布"
等等, 这里的-a
是什么?让我们深入探讨一下
git中的标签有两种类型 -
带注解的标签将额外的元数据(如作者名字、发行说明、标签信息和日期)存储为Git数据库中的完整对象。这些信息对于项目的公开发布很重要。
上面示例中的-a
就是给标签添加注解
git tag -a v1.0.1 -m "First release"
轻量级标签是添加tag最简单的方法。他们只保存引用的commit的名字和hash,不包含任何其他额外的信息。它们的作用就像简单的书签。
git tag v2.1-lW
lw
表示它是一个轻量化标签(Lightweight)。是否添加lw
是可选的,它只是为了提高可读性。
git tag <tag_name> <commit_sha>
如果你想为一些较早的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
使用这个命令可以将远程仓库的标签拉取(同步)到当前分支。
git checkout <tag_name>
// Eg. git checkout v1.0.1
当你像让代码仓库的状态回到某个特定标签(里程碑)的状态,你可以使用上述命令检出(checkout)特定的标签(tag)。
你现在对Git中的标签(tags)已经有了很好的了解了。现在开始在你的项目中使用标签吧。
我希望你学到了一些新东西。