GIt学习及命令的使用(七 )—— Git tag 和 GitHub releases

一、Git 标签的作用

1. 在一个项目中,我们可能需要阶段性地发布一个版本,比如 V1.0、V1.0.2、V3.2 Beta 之类的,Git 的标签可以满足这个需求。
2. 在一个长期大型项目中,可能会有数千个提交版本,我们可能需要对重要的节点性提交打个记号,这时也可以使用 Git 的标签功能。
3. 执行 xxx 命令签出这个版本以查看对应的代码。

标签简介:

Tags 通常在本地使用 git 命令创建后推送到 GitHub 上,与 issue 相同的一点,它也只存在于项目仓库内,Fork 或提 PR 都不会带上它。在多人协作项目中,通常由组长对主仓库设置 Tags,单人项目自然就是自己说了算。


创建Tag标签:

我们创建标签是给具体的某次提交创建的,跟分支无关。创建标签使用git tag [标签名] -m [备注信息] [提交版本号] 这个命令。其中 -m [备注信息] 可以省略不写,但建议不要省略。[提交版本号] 可以省略,如果是给当前分支最新的提交创建标签的话。
例如:给当前分支当前版本创建一个标签:
GIt学习及命令的使用(七 )—— Git tag 和 GitHub releases
这样一个本地标签就创建完成了。

查看标签:
执行 git tag命令显示仓库中的全部标签列表,执行 git show [标签名]查看标签详情:
GIt学习及命令的使用(七 )—— Git tag 和 GitHub releases
删除本地标签:

当我们执行git tag [标签名] 创建本地标签后,在仓库主目录的.git/refs/tags 目录下就会生成一个标签文件。
git tag -d [标签名] 删除本地标签,标签文件也会被删除。
GIt学习及命令的使用(七 )—— Git tag 和 GitHub releases

将本地标签推送到远程仓库:

到浏览器上打开仓库主目录,点击下图红色框可以查看 releases 和 tags :
GIt学习及命令的使用(七 )—— Git tag 和 GitHub releasesrelease:发布版 release 附带发布说明和下载软件或源代码的链接。按照许多 Git 项目的约定,发布版本与 Git 的标签 tag 绑定。您可以使用现有的标签,或者让 release 在发布时创建标签。
GIt学习及命令的使用(七 )—— Git tag 和 GitHub releases
将本地标签推送至远程仓库:
git push [主机名] --tags
GIt学习及命令的使用(七 )—— Git tag 和 GitHub releases

删除远程仓库标签

命令:git push [主机名] :refs/tags/[标签名]
GIt学习及命令的使用(七 )—— Git tag 和 GitHub releases

签出版本:

假定当前的 text1 仓库就是一个程序,我们要签出 v1.0 版本,执行以下步骤即可:
首先执行git checkout [标签名] 切换到之前的某个提交版本,然后执行git checkout -b [新的分支名] 将此提交版本固定到一个新分支上并切换到此分支,这样就利用标签完成了提交版本签出的工作。