美文网首页
git tag实战操作

git tag实战操作

作者: 尼小摩 | 来源:发表于2018-12-22 14:35 被阅读22次

    前言

    最近使用git来管理一个项目,到达一定阶段后,需要将稳定的代码发布成一个版本,经过查找资料发现git的标签操作刚好满足我的要求,所以记录下来,方便以后查找使用。

    标签可以针对某一时间点的版本做标记,常用于版本发布和版本测试。本地标签推送到Github上即发布了一个Releas、bate版本,下载和查看非常方便。

    标签分类

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

    1. 创建标签

    • 创建轻量标签
    $ git  tag  v_bate0.01  -light
    

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

    • 创建附注标签
    $ git  tag  -a  v_bate0.01  -m "bate0.01 version"
    

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

    2. 查看标签

    • 列出当前仓库的所有标签
    $ git tag
    
    • 列出符合模式的标签
    $ git tag -l 'v_bate*'
    
    • 查看标签版本信息
    $ git show v_bate0.01
    

    3. 切换标签

    • 切换标签与切换分支命令相同
    $ git checkout [tagname]
    

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

    4. 删除标签

    • 本地删除tag
    $ git tag -d  v_bate0.01
    
    • 本地标签删除后,推送到线上, 删除线上标签
    $ git push origin :refs/tags/v_bate0.01
    

    5. 补打标签

    • 给指定的commit打标签
    $ git  tag  -a  v_bate0.01  49e0cd22f6bd9510fe65084e023d9c4316b446a6
    

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

    6. 发布标签

    • 将v0.1.0标签提交到git服务器
    $ git push origin v_bate0.01
    

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

    • 将本地所有标签一次性提交到git服务器
    $ git push origin --tags
    

    git push origin 标签名 等同于如下操作:
    git push origin refs/tags/源标签名:refs/tags/目的标签名

    git push 文档中有解释:
    tag <<tag>> means the same as refs/tags/<tag>:refs/tags/<tag>.
    Pushing an empty <src> allows you to delete the <dst> ref from the remote repository.

    相关文章

      网友评论

          本文标题:git tag实战操作

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