Git Tag

作者: alex_zj | 来源:发表于2018-06-04 16:00 被阅读0次

    用途

    标签可以针对某一时间点的版本做标记,常用于版本发布,这恰恰是我所需要的功能,将本地标签推送到Github上即发布了一个Release版本,下载和查看非常方便。

    标签分类

    git标签分为两种类型:轻量标签和附注标签。轻量标签是指向提交对象的引用,附注标签则是仓库中的一个独立对象,建议使用附注标签,日后还可以查看标签信息。

    创建标签

    创建轻量标签

    $ git tag v0.2.0

    解释:创建轻量标签不需要传递参数,直接指定标签名称即可。

    创建附注标签

    $ git tag -a v0.1.0 -m "release 0.1.0 version"

    解释:创建附注标签时,参数-a即annotated的缩写,指定标签类型,后附标签名。参数m指定标签说明,说明信息会保存在标签对象中。

    查看标签

    列出当前仓库的所有标签

    $ git tag

    列出符合模式的标签

    $ git tag -l 'v0.1.*'

    查看标签版本信息

    $ git show v0.1.0

    切换标签

    切换标签与切换分支命令相同

    $ git checkout [tagname]

    解释:切换标签后处于一个空的分支上,即”You are in ‘detached HEAD’ state.”

    删除标签

    误打或需要修改标签时,需要先将标签删除,再打新标签

    $ git tag -d v0.1.2

    解释:参数-d即delete的缩写,意为删除其后指定的标签。

    补打标签

    给指定的commit打标签

    $ git tag -a v0.1.0 f501f59a

    解释:打标签不必要在HEAD之上,也可在之前的版本上打,这需要你知道某个提交对象的校验和,通过git log命令获取。

    发布标签

    将v0.1.0标签提交到git服务器

    $ git push origin v0.1.0

    解释:通常的git push不会将标签对象提交到git服务器,我们需要进行显式的操作。

    将本地所有标签一次性提交到git服务器

    $ git push origin –tags

    标签


    命令git push origin 可以推送一个本地标签;

    命令git push origin --tags可以推送全部未推送过的本地标签;

    命令git tag -d(确定标签无用时) 可以删除一个本地标签;

    命令git push origin :refs/tags/可以删除一个远程标签。

    今天在使用 git push 代码时遇到一个报错:

    error: src refspec master matchesmore than one.

    error: failed to push some refs to 'git@127.0.0.1:test/test.git'

    出现这个错误是因为有一个与当前提交分支同名的标签。

    获取最新的分支和tag

    git fetch

    根据tag创建分支

    git checkout -b branch_name tag_name

    git 基本用法

    相关文章

      网友评论

          本文标题:Git Tag

          本文链接:https://www.haomeiwen.com/subject/lqpplftx.html