IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Git tag常用命令分享

    jacoob_w发表于 2017-04-01 19:07:02
    love 0

    列出所有标签

    • 直接使用git tag即可

     git tag
        v1.0.0
        v1.0.1
        v1.0.2
    
    • 如果标签过多,可以搜索

     git tag -l 'v1.0*'
    
    • 显示详细信息

    git show v1.0.0
    
    commit 41b1058d87990466231deda16cc5c047a4683805
    Author: jacoobwang <531532957@qq.com>
    Date:   Fri Mar 31 16:02:48 2017 +0800
    
        modify composer
    
    diff --git a/composer.json b/composer.json
    index d8bffad..b683809 100644
    --- a/composer.json
    +++ b/composer.json
    @@ -1,4 +1,9 @@
    

    创建标签

    git 打标签有2种情况:

    • 轻量级的

    它其实是一个独立的分支,或者说是一个不可变的分支,指向特定提交对象的引用。
    命令如下:

    git tag aaaa
    
    • 带附注的

    实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证,电子邮件地址和日期。
    命令如下:

    git tag -a V1.2.1 -m 'version 1.2.1'
    

    一般我们都建议使用含附注型的标签,以便保留相关信息。所以推荐使用第二种标签形式。

    删除标签

    • 删除本地标签

    git tag -d V1.0.1
    

    到这一步我们只是删除了本地 V1.0.1的版本,可是线上V1.0.1的版本还是存在,如何办?

    • 删除远程标签

    git push origin :refs/tags/V1.0.1
    

    这样本地和远程的 V1.2 版本已经被我们移除掉。

    推送到远程服务器

    git push origin --tags
    

    非常简单,执行该命令就推送到远程服务器上了,如github等。

    下载远程版本到本地

    如果本地已经有远程分支:

    git fetch origin tag V1.0.1
    

    如果本地没有远程仓库,想直接拉某个版本:

    git clone --branch v1.0.1 https://github.com/jacoobwang/vino-blog.git
    

    其它功能

    • v1.0.1与 commits 1b2e1d63f作对比

     git diff v1.0.1 1b2e1d63ff
    
    • v1.0.1与当前版本作对比

     git diff v1.0.1 HEAD
    
    • 搜索v1.0.1是否有hello

      git grep "hello" v1.0.1
    
    • 查看v1.0.1版本中的readme

     git show v1.0.1:readme
    


沪ICP备19023445号-2号
友情链接