git tag的用法详解

目录

一、tag标识一个commit

二、查看tag

三、对分支打tag

四、删除tag

五、根据某个tag来clone


一、tag标识一个commit

tag是用于去标记一个特定的commit。通常,在进行编译部署之前,我们需要对某一个即将release的版本进行tag,例如tag为release-v1.0。

tag基于某个commit来进行特定标识,生成一个带tag的类似branch,我们可以基于这个tag去生成新的分支,也可以根据tag切换到某个分支版本上,例如:

//生成新的branch,用tags/....去找tag
$ git checkout tags/<tag_name> -b <new_branch_name>
//比较:基于远程branch生成新分支,此语句直接可以将新分支进行set-upstream
$ git checkout origin/<remote_name> -b <new_branch_name>//切换commit
$ git checkout tags/version 1.0

不过上述基于tag来checkout的前提,是要保证本地仓库中你有tags 的信息,所以要先fetch这些tags才能做出上述checkout指令,否则报错!!

// --all will fetch all the remotes.
// --tags will fetch all tags as well
$ git fetch --all --tags --prune

二、查看tag

  • 查看全部tags:

git tag
  • 查看以某格式匹配到tag内容的所有tags
git tag --list 'v-*'

三、对分支打tag

打tag分为两种方式,一种是直接打tag,打一个简单的标签

git tag v1.0

一个是打带注释的tag(annotated tags),此时后面可以通过 -m ,像提交commit一样备注你的评论以及其他信息

git tag -a v1.0 -m "Product Release"

在本地完成tag标记后,需要push到远程

  •  将所有tags push到远程
git push --tags
  •  将所有annotated tags和相关commit推上去
git push --follow-tags
  • 将特定tag推上去
git push origin <tag_name>

如果是想更新远程的tag,用--force

git push origin <tag_name>  --force

四、删除tag

  • 删除本地tag
git tag -d <tag_name>
  • 删除远程tag【通过push更新】
//注意要标明 origin
git push --delete origin <tag_name>

五、根据某个tag来clone

git clone <url> --branch=<tag_name>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/645623.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue常用指令(v-if)

一、v-if 指令 作用: 根据表达值的真假,切换元素的显示和隐藏( 操纵dom 元素 ) 二、代码演示 1、v-if 设置条件&#xff0c;添加按键修改状态 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta na…

运用ETLCloud快速实现数据清洗、转换

一、数据清洗和转换的重要性及传统方式的痛点 1.数据清洗的重要性 数据清洗、转换作为数据ETL流程中的转换步骤&#xff0c;是指在数据收集、处理、存储和使用的整个过程中&#xff0c;对数据进行检查、处理和修复的过程&#xff0c;是数据分析中必不可少的环节&#xff0c;对…

基本处理函数(ProcessFunction)

基本处理函数 处理函数在数据流处理中扮演着核心角色&#xff0c;负责定义数据流的转换操作。在Flink中&#xff0c;处理函数作为一种特殊的转换算子&#xff0c;提供了强大的功能来处理数据流。Flink几乎所有的转换算子都提供了对应的函数类接口&#xff0c;处理函数也不例外。…

C/C++ - Auto Reference

目录 auto Reference auto 当使用auto​​关键字声明变量时&#xff0c;C编译器会根据变量的初始化表达式推断出变量的类型。 自动类型推断&#xff1a;auto​​关键字用于自动推断变量的类型&#xff0c;使得变量的类型可以根据初始化表达式进行推导。 初始化表达式&#x…

阿里云对象存储(OSS)服务

阿里云对象存储&#xff08;OSS&#xff09;服务 引入依赖 <!--阿里云OSS服务--> <dependency><groupId>com.alibaba.cloud</groupId><artifactId>aliyun-oss-spring-boot-starter</artifactId><exclusions><!--排除默认版本的依…

初学数据结构:二叉树相关oj题

目录 1. 相同的树2. 另一棵树的子树3. 翻转二叉树4. 平衡二叉树5. 对称二叉树6. 二叉树构建与遍历7. 二叉树的层序遍历8. 二叉树的最近公共祖先9. 从前序与中序遍历序列构造二叉树10. 从中序与后序遍历序列构造二叉树11. 根据二叉树创建字符串12. 二叉树的前序遍历非递归实现13…

ORACLE数据导出工具

最近应公司要求导出数据为csv格式文件供业务人员存档查看&#xff0c;同时还需要按照指定分隔符导出其他文本格式&#xff0c;待数据迁移使用&#xff0c;就是根据指定的sql&#xff0c;按照指定的分隔符和文本格式导出数据。所使用的数据是oralce&#xff0c;由于生产环境又没…

openssl3.2/test/certs - 037 - 768-bit leaf key

文章目录 openssl3.2/test/certs - 037 - 768-bit leaf key概述笔记END openssl3.2/test/certs - 037 - 768-bit leaf key 概述 openssl3.2 - 官方demo学习 - test - certs 笔记 /*! * \file D:\my_dev\my_local_git_prj\study\openSSL\test_certs\037\my_openssl_linux_do…

树莓派3b使用selenium并更换自带的chromium浏览器版本

树莓派3b自带python3.7&#xff0c;先安装selenium pip3 install selenium3.3 卸载自带的chromium sudo apt --fix-broken install sudo apt-get purge chromium-browser sudo apt-get remove chromium-browser下载chromium 进入网址&#xff1a;http://ports.ubuntu.com/p…

简单快速取消AlertDialog的白色背景框,AlertDialog设置圆角背景

问题描述&#xff1a; 产品需求弹出的提示框是圆角&#xff0c;使用shape 设置圆角背景后&#xff0c;弹出的AlertDialog提示框四个角有白色的背景&#xff0c;据分析这个背景是 AlertDialog 父组件的背景色。 解决方法&#xff1a; 将Dialog的背景设置为透明色&#xff0c;代…

Spark累加器LongAccumulator

1.Accumulator是由Driver端总体进行维护的&#xff0c;读取当前值也是在Driver端&#xff0c;各个Task在其所在的Executor上也维护了Accumulator变量&#xff0c;但只是局部性累加操作&#xff0c;运行完成后会到Driver端去合并累加结果。Accumulator有两个性质&#xff1a; 1…

IDEA远程服务器开发

IDEA的远程开发是在本地去操远程服务器上的代码&#xff0c;可以直接将本地代码的编译,构建,调试,运行等工作都放在远程服务器上而本地运行一个客户端远程去操作服务器上的代码,就如同我们平常写代码一样。相比于云桌面成本更低,开发效率更高。 1.首先服务器配置jdk&#xff0…

第21课 在Android Native开发中架起java与c++互通的桥梁

在开始本节课&#xff0c;我尝试把项目拷贝到另一台电脑上以便继续工作&#xff0c;但出现了大量的“could not be resolved”问题&#xff0c;尝试包含新的include路径也无法解决该问题&#xff0c;最后删除了项目的Native Support&#xff0c;然后重新添加Native Support才解…

VI / VIM的使用

vi/vim 的区别简单点来说&#xff0c;它们都是多模式编辑器&#xff0c;不同的是 vim 是 vi 的升级版本&#xff0c;它不仅兼容 vi 的所有指令&#xff0c;而且 还有一些新的特性在里面。例如语法加亮&#xff0c;可视化操作不仅可以在终端运行&#xff0c;也可以运行于 x win…

python装饰器详解-笔记

一.作用域 在python中,作用域分为两种:全局作用域和局部作用域。 全局作用域是定义在文件级别的变量,函数名。而局部作用域,则是定义函数内部。 关于作用域,我们要理解两点: a.在全局不能访问到局部定义的变量 b.在局部能够访问到全局定义的变量,但是不能修改全局定义…

k8s图形化管理工具rancher

Rancher和K8s的关系&#xff0c;Rancher和K8s区别对比。简单来说&#xff0c;K8s&#xff08;Kubernetes&#xff09;为企业提供了一种一致的方式来管理任何计算基础架构&#xff0c;Rancher则是用于管理位于任何位置的Kubernetes集群的完整平台。如果用户是自己手动部署K8s集群…

Java数据结构与算法:循环链表

Java数据结构与算法&#xff1a;循环链表 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 引言 在计算机科学中&#xff0c;链表是一种基础的数据结构&#xff0c…

Industrial Props Pack - PBR

库中有几个令人难以置信的低多边形模型&#xff0c;具有PBR的高质量纹理。所有未来的免费更新。可以在城市或仓库中的射击游戏中使用的高质量模型。 下载&#xff1a; ​​Unity资源商店链接 资源下载链接 效果图&#xff1a;

C# Graphics对象学习

Graphics对象用于进行绘制&#xff1b; 从哪个对象获取的Graphics&#xff0c;然后进行绘制&#xff0c;就绘制到该对象上&#xff1b; 从位图获取Graphics&#xff0c;然后进行绘制&#xff0c;绘制到该位图上&#xff1b; 从某个控件获取Graphics&#xff0c;然后绘制&…

《动手学深度学习(PyTorch版)》笔记3.7

注&#xff1a;书中对代码的讲解并不详细&#xff0c;本文对很多细节做了详细注释。另外&#xff0c;书上的源代码是在Jupyter Notebook上运行的&#xff0c;较为分散&#xff0c;本文将代码集中起来&#xff0c;并加以完善&#xff0c;全部用vscode在python 3.9.18下测试通过。…