git tag
git可以给仓库历史中的某一个提交打上标签(tag)。开发过程中,常常拉出基线,在来处基线出打上tag,标志该出已经拉出一条稳定的产品基线。tag可以理解问一个不可修改的branch分支。
1、查看tag
-l 或 --list 列出仓库中所有标签
git tag -l
git tag --list使用可选<pattern>...仅列出与模式匹配的标签。通配符必须和-l或者--list配合使用。
git tag --list 'v3.*'不带参数运行“ git tag”也会列出所有标签。
git tag2、创建tag
git 有两种类型的tag:轻量标签(lightweight)与附注标签(annotated)
2.1、附注标签:-a
附注标签是存储在 Git 数据库中的一个完整对象, 有点类似commit提交。它们是可以被校验的,其中包含打标签者的名字、电子邮件地址、日期时间, 此外还有一个标签信息,并且可以使用 GNU Privacy Guard (GPG)签名并验证。 通常会建议创建附注标签,这样你可以拥有以上所有信息。但是如果你只是想用一个临时的标签, 或者因为某些原因不想要保存这些信息,用轻量标签。引用《Git 基础 - 打标签》
git tag命令加上-a选项和-m,如果不带上-m就会进入vim编辑器写注释。
git tag -a 标签名 -m '注释'2.2、轻量标签
不需要使用 -a、-s 或 -m 选项,只需要提供标签名字
git tag 标签名2.3、以前的提交打上tag
直接输入打标签都是给当前最新的commit打标签。如果想给之前的某笔提交打上一个tag,带上那笔commit的id即可。
git tag 更新gragle 9c030a33、删除tag
删除掉你本地仓库上的tag
git tag -d tag名删除远程tag的方式
git push origin --delete <tagname>4、提交tag
提交代码是不会带上tag的,需要单独对拉出的tag提交到远程分支。
git push origin tag名或者一次提交所有本地tag到服务器:
git push origin --tags5、切换代码到tag处
和切换分支一样使用checkout命令,切换到指定打出tag的代码处,不能进行任何修改。
git checkout tag名在“分离头指针”状态下,如果你做了某些更改然后提交它们,标签不会发生变化, 但你的新提交将不属于任何分支,并且将无法访问,除非通过确切的提交哈希才能访问。 因此,如果要进行更改,比如修复旧版本中的错误,需要创建一个新分支(也就是基于出问题的tag版本中拉出一条紧急基线处理这个问题):
git checkout -b 分支名 tag名

