zoukankan      html  css  js  c++  java
  • git笔记:通过给grunt-inline打tag看tag操作

    晚上review了下grunt-inline的issues,看到有个兄弟pull request,修正了0.3.0版本的一个bug。于是就merge了下,然后发布了0.3.1版本(这里)。

    npm publish后,突然想到一个问题,发布了这么多个版本了,但好像都没有打过tag,这个不利于版本回溯以及bug trace。svn版本管理里有tag的概念,git里八九不离十也有,虽然还没用过。就简单百度了下,打完tag后顺便做下笔记:

    查看tag

    git tag
    

    比如我在grunt-inline的项目下运行这个命令,输出如下

    casperchenMacBookPro:grunt-inline casperchen$ git tag
    0.3.0
    0.3.1
    v0.3.0
    

    添加tag

    tag分为两种,分别是轻量级(lighted)tag和附注(annotated)标签。我们通常采用后面这一种。

    1. 根据最新版本创建tag

    比如merge了PR后,想要给最新的版本0.3.1打个tag,可用如下命令

     git tag -a v0.3.1 -m '版本0.3.1的tag'
    

    几个参数简单解释下

    -a annotated的意思,标识tag的类型
    v0.3.1 tag版本
    -m 注释信息

    2. 根据特定版本创建tag

    有的时候,我们想要给历史版本打tag。比如给grunt-inline打完0.3.1的tag后,我想顺道给之前的0.3.0版本打个tag。该怎么做呢。

    首先需要知道该提交版本的校验和,可以通过git log获得。比如我们运行git log后,输出如下信息

    commit 96770ddb62efc6ac58d4c71da0f346867f1e24de
    Author: chyingp <chyingp@gmail.com>
    Date:   Sun Jun 15 21:25:36 2014 +0800
    
        update README and package.json after merge a PR
    

    然后,可以针对该次提交打tag

    git tag -a v0.3.0 96770ddb62efc6ac58d4c71da0f346867f1e24de -m '版本0.3.0的tag'
    

    删除tag

    命令很简单,加上-d参数即可

    git tag -d v0.3.1
    

    发布tag

    默认情况下,git push的时候,不会把本地打的tag也提交到git hub,需要手动推送。

    1. 发布所有tag

    git push origin –tags
    

    2. 发布特定tag

    it push origin v0.3.1
  • 相关阅读:
    第二阶段冲刺第二天
    第二阶段冲刺第一天
    学习进度表_十四周
    购买图书
    学习进度表_十三周
    寻找水王续
    学习进度表_十二周
    《梦断代码》读后笔记_4
    找水王
    学习进度表_十一周
  • 原文地址:https://www.cnblogs.com/chyingp/p/git-note-tag.html
Copyright © 2011-2022 走看看