git对指定commitid 打tag_GIT中tag使用,打版本必备

客官°小女子只卖身不卖艺 2023-01-01 11:50 453阅读 0赞

cd34dd12153c29621915eefb4a4a35fe.png

解决问题:开发了一个程序自动打包程序,v3.0开始是从excel变动清单中去读取变动文件名称以完成自动打包功能,但是有一个问题,偶尔由于整理清单的人会把文件名写错。

于是我利用git可以打包两个不同commit之间文件的特性来重构了前面v3.0的代码,发布了V4.0。

但是v3.0版本程序单独测试 一个功能的时候偶尔还需要使用,这个时候git的tag就出现了。

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

git的tag功能

git 下打标签其实有2种情况

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

所以我们推荐使用第二种标签形式

创建tag

  1. git tag -a V1.2 -m 'release 1.2'

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

查看tag

  1. git tag

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

  1. git show V1.2

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

  1. git push origin --tags

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

  1. git tag -d V1.2

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

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

如何获取远程版本?

  1. git fetch origin tag V1.2

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

发表评论

表情:
评论列表 (有 0 条评论,453人围观)

还没有评论,来说两句吧...

相关阅读

    相关 ideagittag(亲测)

    打tag的目的就是给当前的代码版本做个标记,以便回出现问题能及时回退到此版本。极大减轻运维和研发的工作。 在此介绍如何利用在idea工具,git创建tag 一 创建tag

    相关 ideagittag详解

    目录 1、什么是tag 2、idea 创建tag 3、推送远程分支 4、查看某个tag版本的代码,只需要切换版本即可: 5、对之前的代码提交版本打tag -----