Git系列之分支与标签的使用及应用场景模拟


 🎉🎉欢迎来到我的CSDN主页!🎉🎉

🏅我是君易--鑨,一个在CSDN分享笔记的博主。📚📚

🌟推荐给大家我的博客专栏《Git实战开发》。🎯🎯

🎁如果感觉还不错的话请给我关注加三连吧!🎁🎁

目录

前言

一、Git之分支

1. 分支简介

1.1 概述

1.2 分支的使用

命令

注意事项:

1.3 使用分支的优势

2.  分支的应用(模拟场景讲述)

二、Git之标签

1. 标签简介

1.1 概述

1.2 标签的使用

1.3 使用标签的好处

2. 标签的使用(结合场景说明) 

本期的博客分享到此结束

三连加关注

感谢支持


前言

         在上一期的Git系列博客的分享中与各位老铁们分享了有关git中Gui图形化界面的使用、ssh协议简介及使用以及最后的将git集成到我们的开发工具中去。本期的Git系列博客分享与大家分享git中的分支和标签的应用。

一、Git之分支

1. 分支简介

1.1 概述

         在git中,分支是指从主线上分离出来进行另外的操作,它不会影响到主线,主线又可以继续进行它的工作。分支可以用来解决临时需求,当分支完成特定任务后,可以将其合并回主线,而分支的任务完成之后可以将其删除。使用分支可以让我们在开发过程中从主线上分离出来,以免影响主线开发。

1.2 分支的使用

命令
分支命令
命令说明
git branch查看当前存在的所有分支。
git checkout -b 分支名字创建一个新的分支,并切换到该分支上工作。
git checkout 分支名字切换到指定分支上工作。
git merge 分支名字将指定分支合并到当前分支上。
git branch -d 分支名字删除指定分支。
注意事项:
  1. 分支是临时的,当分支完成特定任务后,需要将其合并回主线,并将其删除。
  2. 在使用分支时,最好在创建分支时就要指定一个明确的名称,以便于管理和跟踪。
  3. 分支之间不会相互影响,但需要注意在合并分支时可能会遇到冲突,需要手动解决冲突后才能成功合并。
  4. 分支可以用来解决临时需求,例如开发新功能或修复bug等,但不建议过多地使用分支,以免造成管理混乱。

1.3 使用分支的优势

        在Git中使用分支有以下几点好处:

  1. 隔离开发环境:分支允许开发者在主分支之外独立开发新功能或修复bug,不会对主分支造成影响。这样可以隔离开发环境,避免开发过程中可能出现的干扰。
  2. 并行开发:如果有多个开发者同时进行开发,可以使用分支来实现并行开发。每个开发者可以在自己的分支上独立工作,不会影响其他人的工作进度。
  3. 版本控制:通过创建不同的分支,可以轻松地回滚到之前的版本,或者将更改合并回主分支。这样可以更好地管理版本控制,有助于维护代码的稳定性和可维护性。
  4. 测试与调试:在进行软件测试和调试时,可以使用分支来隔离不同功能的测试用例。这样可以确保每个功能都经过充分的测试,减少潜在的问题。
  5. 协作与共享:对于多人协作的项目,使用分支可以方便地让团队成员共享代码。每个人都可以在自己的分支上进行修改,然后将更改合并回主分支。这样可以提高项目的协同效率。
  6. 灵活性:分支允许开发者在开发过程中进行灵活的操作,例如修改代码、添加新功能、回滚错误等,而不会对主线分支产生影响。

 总之,使用分支可以提供更好的开发环境、提高开发效率、增强代码的可维护性和可扩展性,以及方便多人协作。

2.  分支的应用(模拟场景讲述)

        首先我们在gitee官网上进行创建一个私有的仓库用于演示模拟场景使用分支,创建好之后并且初始化我们的readme文件,将创建好仓库的ssh网址复制下来在指定的文件夹中进行克隆。

         我们可以先查看一下分支,看看之前有误创建分支,然后我们在进入到文件目录中,在查看我们的分支就会发现又一个分支,该分支就是我们的生产环境。

         当我们创建了一个开发环境的分支时,并且切入到了该分支中,如果我们要删除开发分支我们不能在改分支中进行删除,必须要切换到不是删除指定分支的分支中进行删除。

         现在我们在文件夹中创建十个文件模拟项目中的十个功能,然后我们创建一个测试环境的分支。

         假设我们项目中十个功能只开发了六个功能,但是客户要求提交验视一下,所以提交完成了的六个功能到测试哪进行测试。这是在开发环境下提交的

         这时是由四个是没有进行配置的,接着我们进行提交到我们的本地仓库去,当我们再次查看我们的状态时,我们会显示四个未进行配置的文件。

         接下来是我们的测试人员要拿到我们开发人员所提交的六个项目功能进行测试,所以先转换到我们的测试环境,然后再获取到开发人员提交的六个项目功能。

        当我们切回我们的生产环境的时候,再去查看文件夹时则只会显示未托管的四个文件。

         现在我们的测试人员测试从开发传过来的六个项目功能的文件时,发现有两个项目功能有误,现在要将两个项目功能给退回去给开发人员。

        当提交之后,我们再查看文件状态,会发现没有文件了。 然后通过测试的只有四个项目功能我们将这四个与我们的生产环境进行合并。

        这是这是确定要上线的项目的四个项目功能,现在的四个项目功能在我们的本地分支上,接下来是要将我们的项目分支传输到远程分支上去。

        推送完分支之后我们在gitee官网刷新即可查看 

二、Git之标签

1. 标签简介

1.1 概述

        在Git中,标签(tag)是一种用于对代码库的特定版本进行标记或命名的机制。它通常用于对发布版本、里程碑或重要节点进行标记,以便于后续的版本控制和追踪。

        标签可以看作是一种指向提交记录的引用,它与提交记录关联,并包含标签的名称、日期、标签描述等信息。轻量标签只是一个指向提交对象的引用,不包含任何元数据。带注释的标签则是一个独立的对象,包含了标签的名称、日期、标签描述等信息,以及指向提交对象的引用。

        创建标签的命令是git tag,可以使用该命令创建轻量标签或带注释的标签。标签可以用于对发布版本进行标记、对某一历史版本进行快速跳转、对重要节点进行标记等等。Git标签的最大优点就是不会随着代码的修改而改变,这意味着标签是永久性的,并且可以在未来的任意时刻被检索到。

1.2 标签的使用

  1. 列出当前仓库的所有标签:git tag

  2. 列出所有标签及说明:git tag -n

  3. 搜索符合条件的标签:git tag -l "1.0.*"

  4. 查看标签信息:git show v1.0.1

  5. 创建标签:git tag "指定标签名"

  6. 创建带有说明的标签:git tag -a "指定标签名" -m "指定说明文字"

  7. 本地标签推送到远程仓库:git push origin <tagname>

  8. 获取指定标签的代码:可以使用git checkout <tagname>

  9. 获取指定标签的代码:可以使用git checkout <tagname>

1.3 使用标签的好处

  1. 版本定位:标签可以指向代码库中的特定版本,如发布版本、里程碑或重要节点。通过使用标签,可以轻松地标识和定位这些重要版本。
  2. 版本控制:标签可以与提交记录关联,并包含标签的名称、日期、标签描述等信息。这有助于在未来的任意时刻检索到标签指向的代码版本。
  3. 简化管理:通过创建标签,可以按照不同的版本需求进行管理。比如,对于发布版本,可以创建带注释的标签,以便于后续的版本控制和追踪。
  4. 灵活性:标签是一种灵活的机制,可以用于对代码库中的特定版本进行标记或命名。这意味着可以根据需要创建或删除标签,以满足不同的版本控制需求。
  5. 可重用性:标签一旦创建,就可以在未来的任意时刻被检索和使用。这使得标签具有很高的可重用性,特别是在需要回滚到特定版本或查看历史版本时。
  6. 可扩展性:Git标签是一个独立的对象,可以包含额外的元数据信息。这意味着可以根据需要扩展标签的功能,以满足特定的版本控制需求。

2. 标签的使用(结合场景说明) 

        我们先切回到我们开发分支中,查看是否有打过标签,然后创建一个开发分支的标签。 

         我们的开发人员将项目功能传输给测试人员时并且进行了打包,传输到远程仓库中去了。 

         这是我们的测试人员测试完我们开发人员传输过来的项目功能后,将不合格的项目功能模块退回给力开发人员,将符合标准的项目功能进行分支后,将项目功能传输给了生产环境进行部署上线,我们在生产环境进行打标签标记。

 

         并且推送到官网上去,我们到官网进行查看

         这时我们的开发人员发现了问题,对有问题的两个文件进行了修改,我们先换回开发分支,然后对4,5文件内容进行修改,我们对其提交

         然后对其打标签标记是修改过的,并且推送

本期的博客分享到此结束

三连加关注

感谢支持

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

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

相关文章

语音识别芯片在产品应用上的难点列举

语音识别技术&#xff0c;作为人工智能领域中的一颗璀璨明珠&#xff0c;已经广泛应用于用户交互、智能家居、语音助手等多个领域。它为我们的生活带来了诸多便利&#xff0c;使得我们可以更加高效地与电子设备进行互动。然而&#xff0c;语音识别技术的实现&#xff0c;依赖于…

LEEDCODE 75颜色分类

耍赖皮写法 嘻嘻 class Solution { public:void sortColors(vector<int>& nums) {int count1 0;int count2 0;int count3 0;for(int i 0; i<nums.size(); i){if(nums[i] 0)count1 1;else if(nums[i] 1)count2 1;else count3 1;}for(int i 0; i<nu…

缅因州政府通知130万人MOVEit数据泄露事件

大家好&#xff0c;今天我要向大家通报一个令人震惊的消息&#xff1a;缅因州政府的系统遭到了入侵&#xff0c;黑客利用MOVEit文件传输工具的漏洞&#xff0c;获取了约130万人的个人信息&#xff0c;这几乎相当于该州的整个人口数量。 MOVEit攻击是Clop勒索软件团伙进行的一次…

前端---CSS的盒模型

文章目录 什么是盒模型&#xff1f;设置边框设置内边距设置外边距块级元素水平居中 什么是盒模型&#xff1f; 页面上的每个HTML元素都是一个一个的“盒子”&#xff0c;这些盒子由&#xff1a;内容、内边距、边框、外边距组成。 我们可以和住的房子联系起来&#xff0c;更好…

找工作的网站都有哪些

吉鹿力招聘网作为一家知名的招聘网站&#xff0c;因其功能完善和用户隐私保护而备受用户青睐。它不仅可以与企业直接沟通&#xff0c;还可以提供在线聊工作的机会。通过吉鹿力招聘网&#xff0c;用户可以自主选择工作地点、时间和工作类型&#xff0c;大大提高了找到合适工作的…

如何使用内网穿透实现远程公网访问windows node.js的服务端

使用Nodejs搭建简单的web网页并实现公网访问 前言 Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web应用程序框架。 Node.js自带运行时环境可在Javascript脚本的基础上可以解释和执行(这类似于JVM的Java字节码)。这个运行时允许在浏览器以外的任何机器上执行JavaScri…

7-爬虫-中间件和下载中间件(加代理,加请求头,加cookie)、scrapy集成selenium、源码去重规则(布隆过滤器)、分布式爬虫

0 持久化(pipelines.py)使用步骤 1 爬虫中间件和下载中间件 1.1 爬虫中间件(一般不用) 1.2 下载中间件&#xff08;代理&#xff0c;加请求头&#xff0c;加cookie&#xff09; 1.2.1 加请求头(加到请求对象中) 1.2.2 加cookie 1.2.3 加代理 2 scrapy集成selenium 3 源码去重…

Python语言:经典案例分析讲解2

例题1&#xff1a;文件的操作 例题2&#xff1a;调用函数求偶数之和 例题3&#xff1a;调用函数并使用递归的方法求斐波那契数前N项之和 题1: 以只写的模式打开文件test.txt&#xff0c;写入"Python"&#xff0c;关闭文件。 代码如下&#xff1a; f open("E:/…

轻量封装WebGPU渲染系统示例<27>- 浮点RTT纹理(源码)

当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/rendering/src/voxgpu/sample/FloatRTT.ts 当前示例运行效果: 此示例基于此渲染系统实现&#xff0c;当前示例TypeScript源码如下: const floatRTT { diffuse: { uuid: "rtt0", rttTe…

软考网络工程师知识点总结(四)

目录 61、FTP文件传输服务 62、DHCP动态主机配置协议 63、电子邮件服务 64、各种新技术相关概念及功能的考查 65、Windows的ipconfig命令 66、Windows的其它命令及说明 67、Linux系统关机和重启命令 68、Linux系统文件属性命令 69、SNMP协议版本 70、SNMP协议的报文类…

微信公众号制作的资源及网站分享!

微信公众号的出现丰富了我们的网络世界&#xff0c;一篇又一篇的或长或短的文章&#xff0c;让我们碎片化的时间有了去处。而且&#xff0c;我们每个人也可以运营一个微信公众号&#xff0c;人人都可以创建属于自己的微信公众号&#xff0c;无论是记录生活还是分享文章或者想要…

vivado产生报告阅读分析-常规报告2

1、Report I/O “ I/O Report ” &#xff08; I/O 报告 &#xff09; 用于替代 AMD ISE Design Suite PAD 文件。“ I/O Report ”可列出 &#xff1a; • “ Pin Number ” &#xff08; 管脚编号 &#xff09;&#xff1a; 表示器件中的所有管脚 • “ Signal Name ” …

酷柚易汛ERP - 商品库存余额表操作指南

1、应用场景 商品库存余额表用于查询商品在各仓库的实际结存量、单位成本以及成本等明细。 2、主要操作 打开【仓库】-【商品库存余额表】&#xff0c;可筛选仓库、商品、商品类别&#xff0c;导出/打印等操作见【销货单】不再赘述。 3、分享操作 库存余额分享&#xff0c;…

6 Spring循环依赖

什么是循环依赖&#xff1f; // A依赖了B class A{ public B b; } // B依赖了A class B{ public A a; } 如果不考虑Spring&#xff0c;循环依赖并不是问题&#xff0c;因为对象之间相互依赖是很正常的事情 A a new A(); B b new B(); a.b b; b.a a; 这样&#xff0c;A&a…

【CSS】伪元素与伪类

CSS 伪元素和伪类 1.为什么要引入伪元素和伪类&#xff1f; 在 CSS 的官方文档中&#xff0c;是这样描述的&#xff1a; CSS introduces the concepts of pseudo-elements and pseudo-classes to permit formatting based on information that lies outside the document tre…

MAC在Linux上上传本地文件压缩包(tomcat)解决方法(炒鸡详细)

要将文件压缩包上传到Linux云服务器&#xff0c;并在服务器上解压打开&#xff0c;你可以使用以下步骤&#xff1a; 在本地的Mac上&#xff0c;将要上传的文件或文件夹压缩成一个压缩包&#xff08;如zip或tar.gz格式&#xff09;。 使用SSH连接到Linux云服务器。你可以使用Te…

模型剪枝Lab

这里是MIT 6.5940 Fall 2023的第一个实验Lab1的一些笔记&#xff0c;课程传送门&#xff1a;Han Lab Setup First, install the required packages and download the datasets and pretrained model. Here we use CIFAR10 dataset and VGG network which is the same as what…

【Spring Boot】035-Spring Boot 整合 MyBatis Plus

【Spring Boot】035-Spring Boot 整合 MyBatis Plus 【Spring Boot】010-Spring Boot整合Mybatis https://blog.csdn.net/qq_29689343/article/details/108621835 文章目录 【Spring Boot】035-Spring Boot 整合 MyBatis Plus一、MyBatis Plus 概述1、简介2、特性3、结构图4、相…

EXIT(1)

EXTI介绍 EXTI是片上外设 NVIC是cpu内的外设 回忆起之前的GPIO和AFIO 我们是如何检测按键按下的 我们是一直用while循环读取IDR寄存器的对应位置的值 一直检测判断按键是否被按下 那么是否有第二种方式检测按键是否被按下了呢&#xff1f; 通过EXTI 当EXTI检测到按键的电平发生…