实际上看到这边,对于Git分支仓库这些概念以及commit,push,pull等操作。但是有些东西我们可能常见到,但是不怎么经常用的。tag 标签其实就算一个,我们下载一些开源项目的时候,在GitHub上经常看到版本,有的项目是通过tag来管理版本的,所以学习一下标签管理对于项目版本还是有很多帮助的,尤其是我们自己创建一个项目,设置版本设置tag,这些和分支,仓库这些开发中常用的一样重要,这是你要交付给被人使用的。
标签
tag 标签是什么?
发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。
这样我们想去找找个版本,就不用几比较难记的commit的版本号了,毕竟靠人脑记这些就挺不靠谱的,看一个关于加密的项目的文档,作者对人脑的对于一些比较长比较晦涩的词语记忆的形容是,“最强随机数生成机器”。我们打个好记的标签就解决这些问题了。
tag就是一个让人容易记住的有意义的名字,它跟某次比较有意义的commit绑在一起,将二者对应起来。
创建标签
第一步是到对应的分支上
$ git branch
* dev
master
$ git checkout master
Switched to branch 'master'
创建标签
git tag v1.0
查看标签
git tag
一把来说默认标签是打在最新提交的commit上的。有时候,如果忘了打标签,对于某个commit。
那就要去找对应的commit id,可通过命令来查看
git log --pretty=oneline --abbrev-commit
当然我更习惯通过git的可视化工具来看。
对于某个提交c52c633我们要打tagv0.9
git tag v0.9 c52c633
我们对于某个tag想看具体的信息,可以通过命令
git show
操作标签
标签打错了,是可以删除的,因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。
(这里前提是这个标签没有推送到远程仓库中)
git tag -d v0.1
推送某个标签到远程,使用命令git push origin
git push origin v1.0
一次性推送多个尚未推送到远程的本地标签
git push origin --tags
如果要删除一个已经上传到远程仓库的tag,就要麻烦一点
首先本地删除这个tag
git tag -d v0.9
然后,从远程删除。删除命令也是push推送到远程仓库中
git push origin :refs/tags/v0.9
Github上创建release
这里还有一个概念,我们经常会遇到一个问题,下载某个版本,我们在github一般选择去看对应的releases页面去找对应的版本下载。
那tag和release是什么关系呢?
当您想要发布一个新版本时,会先将代码库中的某个提交打上一个 tag,以便将来可以轻松地找到该版本的代码。然后,您可以使用该 tag 创建一个 release,将代码打包并发布给用户下载和使用。
您可以在 release 页面上添加一些描述和附件,以便更好地向用户介绍该版本的内容和特性。同时,您还可以将该版本的代码打包成 zip 或 tar.gz 格式,并让用户通过 release 页面来下载和使用。
在创建 release 时,您需要选择一个 tag,并将该 tag 关联到 release 上。这样,用户就可以通过访问 release 页面来查看和下载该版本的代码。
了解了release后, GitHub 上提交 tag 的过程非常简单,您可以按照以下步骤进行操作:
首先,确保您已经在本地仓库中创建了要打 tag 的提交。您可以使用 git tag 命令创建 tag,例如:
git tag v1.0.0
这会在当前提交上创建一个名为 v1.0.0 的 tag。
然后,将 tag 推送到远程仓库。您可以使用 git push 命令将 tag 推送到远程仓库,例如:
git push origin v1.0.0
这会将名为 v1.0.0 的 tag 推送到名为 origin 的远程仓库。
如果您需要推送多个 tag,可以使用 --tags 参数:
git push origin --tags
这会将所有本地未推送的 tag 都推送到远程仓库。
最后,在 GitHub 网站上创建一个新的 release。您可以在代码库的页面上选择 “Releases”,然后点击 “Draft a new release” 按钮,填写相关信息并将 tag 关联到 release 上。
在 release 页面上,您可以添加一些描述和附件,以便更好地向用户介绍该版本的内容和特性。发布 release 后,用户就可以通过访问 release 页面来查看和下载该版本的代码。
总之,提交 tag 是 Git 中的一个重要功能,它可以让您轻松地标记某个特定的提交或版本。在 GitHub 上提交 tag 的过程非常简单,只需要使用 git tag 和 git push 命令即可。同时,您还可以在 release 页面上创建一个新的 release,将 tag 关联到 release 上,并向用户介绍该版本的内容和特性。