git的分支及标签使用结合全网最详细的情景演示

目录

一git的分支

  ⭐⭐  补充一个拓展知识:

1.1 git分支

1.2 git分支的增删查命令       

1.3 情景演示

二.git标签 

2.1 分支与标签的关系

2.2 git标签的基本命令

2.3 情景演示 


一git的分支

  ⭐⭐  补充一个拓展知识:

        软件开发中常见的四个环境:开发环境(dev)、测试环境(test)、预发布环境(pre)、生产环境(pro)

在软件开发过程中,通常会有多个环境用于不同阶段的工作和测试。这些环境的作用和特点如下:

  1. 开发环境(Development Environment,简称Dev):用于开发人员进行软件编码、调试和单元测试的环境。开发环境通常是每个开发人员在本地或者共享的开发服务器上进行工作。

  2. 测试环境(Testing Environment,简称Test):用于测试人员进行集成测试、系统测试和验收测试的环境。测试环境通常需要模拟生产环境,并且需要和生产环境尽量保持一致。

  3. 预发布环境(Staging Environment,简称Stage或Pre-production):在软件发布到生产环境之前,通常会有一个预发布环境,用于进行最终的测试、性能测试和预发布验证。(一般情况下这一种不会用,只会出现在非常重要的项目且大型的公司中)

  4. 生产环境(Production Environment,简称Prod):这是用户最终访问和使用软件的环境,也是软件真正运行和提供服务的环境。

这些环境的设置有助于在软件开发和发布过程中提高质量,降低风险。同时,也有助于隔离不同阶段的工作,确保开发人员、测试人员和运维人员能够分工协作,提高效率。

1.1 git分支

        Git分支是用于在代码库中创建不同的版本路径的功能。它允许开发者在不影响主要代码线的情况下进行新功能的开发、修复错误或实验性的修改。

        git分支的作用:

  1. 并行开发:通过使用分支,多个开发者可以同时处理不同的任务和功能。每个开发者在自己的分支上独立工作,可以避免互相影响和冲突。

  2. 版本管理:使用分支可以方便地创建和管理不同版本的代码。您可以创建一个主分支用于稳定的发布版本,然后创建其他分支来修复错误或添加新功能。这样可以确保开发过程中的代码升级和回滚都更加可控。

  3. 实验性修改:如果您想对某个功能进行一些实验性的修改,但不确定是否适合合并到主干代码中,可以在新分支上进行更改并测试,而无需影响主要工作流程。

1.2 git分支的增删查命令       

  1. 创建分支:

    • git branch <branch_name>:创建一个新的分支。
    • git checkout -b <branch_name>:创建一个新的分支并切换到该分支。
  2. 切换分支:

    • git checkout <branch_name>:切换到指定的分支。
  3. 查看分支:

    • git branch:列出所有分支,当前分支会用星号标记。
  4. 删除分支:

    • git branch -d <branch_name>:删除指定的分支(只能删除已合并的分支)。
    • git branch -D <branch_name>:强制删除指定的分支

1.3 情景演示

        程序员在一个项目中需要写10个模块,但是只完成了6个,将这6个给测试人员进行测试发现有两个不合格

         ①新建一个仓库,建好之后直接初始化readme文件,复制ssh地址,克隆下来

        

②建立一个dev开发分支和一个test 测试分支 

       

③建10个文件夹模拟10个模块   ,并将6个模块交给测试进行测试                                                    

         进入测试分支可以看到只有没有测试的其它4个模块

 

         将其与开发分支合并,当切换为master分支时,又只能看到4个模块了

        ④测试人员将不合格的两个模块删掉  

         ⑤输入命令将test ,dev分支推送到远程gitee上我们在不同的分支看到的文件就是不一样的

        git push origin test

        git push origin dev

二.git标签 

        2.1 分支与标签的关系

          在不同环境下的分支,我们给标签设置的版本后缀名不一样,方便以后进行区分

  •  dev-->alpha
  • test-->beta
  • pre-->rc
  • pro-->r

        Git标签是用于在代码库中标记特定版本的功能。它被用来给代码库中的某个提交打上一个有意义的标识,通常用于发布或标记重要的里程碑

        标签在Git中的作用:

  1. 版本标记:标签可以用来标记发布版本,例如发布1.0版本或者某个重要的里程碑版本。通过为特定的提交打上标签,可以方便地进行代码版本的标识和管理。

  2. 公开可追溯:标签通常会与公开发布版本相结合,为用户提供一个稳定和可追溯的代码版本。用户可以根据标签名称轻松地获取和部署特定版本的代码。

2.2 git标签的基本命令

  1. 创建标签:

    • git tag <tag_name>:在当前提交上创建一个新的标签。
    • git tag -a <tag_name> -m "Tag message":创建一个带注释的标签。
  2. 查看标签:

    • git tag:列出所有标签。
  3. 切换到标签:

    • git checkout <tag_name>:切换到指定的标签。
  4. 删除标签:

    • git tag -d <tag_name>:删除指定的标签。
  5. 推送标签:

    • git push origin <tag_name>:将指定的标签推送到远程仓库。

2.3 情景演示 

      ①  将项目做到一定的阶段打一个标签,将其推送到远程    ,这里新建了一个开发环境的标签   

② 在gitee上可以查看的到 ,方便到时候后续修订改了其他的代码,就可以回溯

③ 新建一个测试环境标签 

 

 后续又迭代的版本或者修复好bug的版本都可以这样打好标签,为用户提供一个稳定和可追溯的代码版本。用户可以根据标签名称轻松地获取和部署特定版本的代码。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

jdk21 虚拟线程原理及使用分享

虚拟线程概述 jdk21已于北京时间9月19日21点正式发布, 其中引人注目的就是虚拟线程(Virtual Thread)随之正式发布, 不再是此前jdk19、jdk20中的预览版本。 平台线程&#xff1a;java传统的线程是对系统线程的包装&#xff0c;为了区别于虚拟线程&#xff0c;因此将通过传统方式…

【Git】工作中的留痕:分支及标签的超神搭配

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于Git的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一.Git分支是什么 二.Git分支的使用 1.分…

HTTPS协议

目录 HTTPS概念加密是什么常见加密方式对称加密非对称加密数据摘要&&数据指纹数据签名 HTTP工作过程探究方案一&#xff1a;只使用对称加密方案二&#xff1a;只使用非对称加密方案三&#xff1a;双方都使用非对称加密方案四&#xff1a;非对称加密对称加密中间人攻击 …

常见面试题-JDK和CGLIB动态代理

JDK 动态代理和 CGLIB 动态代理对比 JDK 动态代理只能代理实现了接口的类&#xff0c;而 CGLIB 可以代理未实现任何接口的类。另外CGLIB 动态代理是通过生成一个被代理类的子类来拦截被代理类的方法调用&#xff0c;因此不能代理声明为final 类型的类和方法就二者的效率来说&a…

Unbuntu安装、测试和卸载gcc11

GCC 可用于编译 C、C&#xff0c;本文介绍如何 Ubuntu 上安装 gcc11、测试和卸载它。 1. 在Ubuntu 上安装 gcc11 添加工具链存储库 sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test在 Ubuntu 上安装 gcc11 sudo apt install -y gcc-11验证 gcc11 版本 gcc-11 --v…

AI:80-基于深度学习的医学图像分割与病变识别

🚀 本文选自专栏:人工智能领域200例教程专栏 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带有在本地跑过的代码,详细讲解供大家学习,希望可以帮到大家。欢迎订阅支持,正在不断更新中,…

数据架构与数据模型

数据架构&#xff1a; 待定 数据模型&#xff1a; 数据模型是对现实世界数据特征的抽象&#xff0c;用于描述一组数据的概念和定义。数据模型从抽象层次上描述了数据的静态特征、动态行为和约束条件。数据模型所描述的内容有三部分&#xff0c;分别是数据结构、数据操作和数…

数据结构与算法 | 第四章:字符串

本文参考网课为 数据结构与算法 1 第四章字符串&#xff0c;主讲人 张铭 、王腾蛟 、赵海燕 、宋国杰 、邹磊 、黄群。 本文使用IDE为 Clion&#xff0c;开发环境 C14。 更新&#xff1a;2023 / 11 / 12 数据结构与算法 | 第四章&#xff1a;字符串 字符串概念字符串字符字符…

rocksdb中测试工具Benchmark.sh用法(基准、性能测试)

1.首先要安装db_bench工具&#xff0c;这个工具在成功安装rocksdb之后就自动存在了&#xff0c;主要是在使用make命令之后就成功安装了&#xff0c;详情请见我之前的文章 2.确保成功安装db_bench之后&#xff0c;找到安装的rocksdb目录下面的tools文件夹&#xff0c;查看里面是…

如何让VirtualBox系统使用Ubuntu主机的USB

如何让VirtualBox系统使用Ubuntu主机的USB 当通过 VirtualBox 尝试不同的操作系统时&#xff0c;访问虚拟机中的 USB 驱动器来传输数据非常有用。 安装Guest Additions 自行百度安装Guest Additions的方法&#xff0c;最终的效果如下&#xff1a; 将用户添加到 vboxusers 组…

前端面试题 计算机网络

文章目录 ios 7层协议tcp协议和udp协议的区别tcp协议如何确保数据的可靠http和tcp的关系url输入地址到呈现网页有哪些步骤post和get本质区别&#xff0c;什么时候会触发二次预检GET请求&#xff1a;POST请求&#xff1a;触发二次预检&#xff08;CORS中的预检请求&#xff09;&…

通过结构间比值比较迭代次数

( A, B )---3-30-2---( 1, 0 )( 0, 1 ) 让网络的输入只有3个节点&#xff0c;A有5个点&#xff0c;B全是0&#xff0c;排列组合。让A,B训练集分别有3&#xff0c;4&#xff0c;5&#xff0c;6张图片&#xff0c;统计迭代次数并排序。 先比较图片数量是3和4的情况 n4 迭代次数…

移植LVGL到单片机的一个demo简单介绍

简介 背景&#xff1a; 本文使用的是主控IC为stm32f103zet6, 显示IC为ST7735s&#xff0c;它是128*160的像素&#xff0c;色深为RGB565颜色。 官方虽然说LVGL移植平台只需 64kB 闪存和 8kB RAM 就足以满足简单的用户界面。但我移植到stm32f103c8t6&#xff0c;不管怎么修改配…

【数据结构】入队序列出队序列问题(以21年408真题举例)

题型说明 一般是一个队列&#xff0c;其中一边可以入队&#xff0c;另一边可以入队和出队只可入队的含义是从这个方向是以队列形式存在可以入队和出队表示此边以堆形式存在 怎么分析&#xff1f; 以21年408真题举例 考点分析 出队序列存在两种情况&#xff1a;入之后就出&…

是谁为所欲为,将我的电脑控作己用?

在刚刚发完短篇小杂文《要找事做&#xff0c;我真怕被闲死》的投稿之后&#xff0c;笔者继续浏览社交网站的网页搜索...... 正看到《温州殡仪馆 》《温州动车723事故死亡高 》《 动车脱轨温州事件真正原因》《 浙江平阳县灭门惨案处理结果公布》《 温州厉秀珍死亡 》这一串又一…

从HDFS到对象存储,抛弃Hadoop,数据湖才能重获新生?

Hadoop与数据湖的关系 1、Hadoop时代的落幕2、Databricks和Snowflake做对了什么3、Hadoop与对象存储&#xff08;OSD&#xff09;4、Databricks与Snowflake为什么选择对象存储5、对象存储面临的挑战 1、Hadoop时代的落幕 十几年前&#xff0c;Hadoop是解决大规模数据分析的“白…

Qt开发流程

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 例如&#xff1a;…

SpringBoot整合第三方技术

SpringBoot整合JUnit 名称&#xff1a;SpringBootTest 类型&#xff1a;测试类注解 位置&#xff1a;测试类定义上方 作用&#xff1a;设置JUnit加载的SpringBoot启动类SpringBootTest(classes Springboot05JUnitApplication.class) class Springboot07JUnitApplicationTests…

腾讯云3年轻量2核4G5M服务器756元,抓紧数量不多

腾讯云轻量应用服务器特价是有新用户限制的&#xff0c;所以阿腾云建议大家选择3年期轻量应用服务器&#xff0c;一劳永逸&#xff0c;免去续费困扰。腾讯云轻量应用服务器3年可以选择2核2G4M和2核4G5M带宽&#xff0c;3年轻量2核2G4M服务器540元&#xff0c;2核4G5M轻量应用服…