zoukankan      html  css  js  c++  java
  • git tag和branch的区别

    tag 和branch的区别

    • Git tag是一系列commit的中的一个点,只能查看,不能移动。
    • branch是一系列串联的commit的线。

    git tag的用法

    • 我们常常在代码封板时,使用git 创建一个tag ,这样一个不可修改的历史代码版本就像被我们封存起来一样,不论是运维发布拉取,或者以后的代码版本管理,都是十分方便的

    git的tag功能

    • git 下打标签其实有2种情况
      轻量级的:它其实是一个独立的分支,或者说是一个不可变的分支.指向特定提交对象的引用
    • 带附注的:实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证,电子邮件地址和日期,一般我们都建议使用含附注型的标签,以便保留相关信息
      所以我们推荐使用第二种标签形式

    创建tag

    • git tag -a V1.2 -m ‘release 1.2’
    • 上面的命令我们成功创建了本地一个版本 V1.2 ,并且添加了附注信息 ‘release 1.2’

    查看tag

    • git tag

    • 要显示附注信息,我们需要用 show 指令来查看

    • git show V1.2

    • 但是目前这个标签仅仅是提交到了本地git仓库.如何同步到远程代码库

    • git push origin --tags

    • 如果刚刚同步上去,你缺发现一个致命bug ,需要重新打版本,现在还为时不晚.

    • git tag -d V1.2

    • 到这一步我们只是删除了本地 V1.2的版本,可是线上V1.2的版本还是存在,如何办?这时我们可以推送的空的同名版本到线下,达到删除线上版本的目标:

    • git push origin :refs/tags/V1.2

    • 如何获取远程版本?

    • git fetch origin tag V1.2

    • 这样我们可以精准拉取指定的某一个版本.适用于运维同学部署指定版本.

  • 相关阅读:
    BZOJ4912 [Sdoi2017]天才黑客 【虚树 + 最短路】
    BZOJ2738 矩阵乘法 【整体二分 + BIT】
    BZOJ1185 [HNOI2007]最小矩形覆盖 【旋转卡壳】
    BZOJ4830 [Hnoi2017]抛硬币 【扩展Lucas】
    BZOJ3738 [Ontak2013]Kapitał 【扩展Lucas】
    云计算,大数据,人工智能
    conda基本操作
    nlp基础(一)基本应用
    ml交叉验证
    Python魔术方法
  • 原文地址:https://www.cnblogs.com/hystill/p/13783191.html
Copyright © 2011-2022 走看看