git标签管理

Posted idyllcheung

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git标签管理相关的知识,希望对你有一定的参考价值。

标签说明

标签用于标记某一提交点,唯一绑定一个固定的commitId,相当于为这次提交记录指定一个别名,方便提取文件。
可以为重要的版本打上标签,标签可以是一个对象,也可以是一个简单的指针,但是指针不会移动。

创建标签

git tag <tag_name> #为当前分支指向的commit记录创建标签
git tag <tag_name> <hash_val> #为指定的commitId创建标签
git tag -a <tag_name> -m "msg" <hash_val> #创建标签同时添加说明信息

技术图片
查看标签

git tag #查看所有标签名称
git show <tag_name> #查看标签的详细信息(包含commit的信息)
git tag -ln [tag_name] #显示标签名及其描述信息

技术图片
远程推送标签

git push <remote_name> <tag_name> #将标签推送到远程服务器
git push <remote_name> --tags #将本地的全部tag推送到远程服务器
示例:将新建的3个标签推送到远程仓库

技术图片

刷新远程仓库,可以看到Tags下有了3个标签

技术图片
删除标签

git tag -d <tag_name> #删除本地的标签
git push <remote_name> :refs/tags/<tag_name> #删除远程标签
示例:删除本地及远程的v0.9标签

技术图片
标签内容提取

git archive --format=zip --output=src/xxx.zip <tag_name> #提取为zip格式,src可以是相对路径,也可以是绝对路径
示例:在d盘下生成包含0.8标签内容的压缩包
git archive --format=zip --output=d:/v0.8.zip v0.8

切换标签

如果我们不想直接提取出标签的代码,而是希望在指定标签下继续进行开发,此时可以切换到标签。
git checkout <tag_name> #切换到指定标签
示例:切换到v0.8标签进行开发,此时提示我们处于detached HEAD state(分离头指针状态),即说明HEAD指针没有指向具体的分支,查看HEAD指针它直接指向了一个commit对象,此时进行开发操作没有任何意义。

技术图片

如果想要退出detached HEAD state,很简单只需要切换回指定分支就可以了,如git checkout master
如果想要在当前tag下继续开发,可以新建一个分支并让HEAD指向分支就可以了。

技术图片

标签切换后以及切换后新建分支的部分提交结构图如下

技术图片


作者:若汐缘
链接:https://www.jianshu.com/p/7a77b80ada59
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

以上是关于git标签管理的主要内容,如果未能解决你的问题,请参考以下文章

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段

采用git标签来进行代码版本管理

git tags 管理

SnippetsLab for Mac 1.9 中文共享版 – 强大的代码收藏管理工具

VSCode自定义代码片段——git命令操作一个完整流程