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

🥳🥳Welcome Huihui's Code World ! !🥳🥳

接下来看看由辉辉所写的关于Git的相关操作吧 

     

目录

🥳🥳Welcome Huihui's Code World ! !🥳🥳

一.Git分支是什么

二.Git分支的使用

1.分支的使用场景

2.分支的命令操作

1.增加

2.删除

3.查看

4.切换分支

​5.创建+切换分支

​6.合并某分支到当前分支

7.提交到远程

3.IDEA操作分支

1)IDEA操作git分支

2)IDEA中分支的相关操作

①新增分支

②删除分支

③查看分支

查看

将本地分支推送到码云

三.Git标签是什么  

四.Git标签的使用

1.分支的命令操作

 ①.查看所有标签

②.创建tag

③.推送标签到远程

④.删除tag

删除本地tag

删除远程tag  

​2.IDEA操作标签

1)IDEA操作git标签

2)IDEA中分支的相关操作

①增加标签

②删除标签

③查看标签

💡辉辉小贴士💡 关于分支和标签必须知道的小常识!!

1.分支的命名规范

2.标签

3.分支与标签的关系

4.软件的命名规则

5.版本命名规范 


         在正式讲解今天的干货知识之前,我们先来了解一下,在实际开发中,到底是怎么使用Git的

        我们开发的时候,往往会面临这样的场景:我们做一个中大型的项目,常常会被分为好几个阶段,一步步的去完成一个项目。当我们完成了第一个阶段后,就会投入到第二阶段的开发,但同时也需要修复阶段一的bug,但不可能停止第二阶段的开发转而都去修复第一阶段的代码,这时我们便可用到分支,两个事情并齐而行。

        一个项目在开发的过程中,客户会想要看到一部分的效果,那我们就要把已经做好的模块给到客户,但是给到客户之前,还需要经过测试等等的一些流程。在这些流程中,可能会出现这样的情况:开发人员在把完成的模块交于测试之前,会先检查自己需要提交的模块是否有错误,当检查完毕之后,才会把对应模块交于测试。但是当测试人员去进行项目测试时,却发现项目有一些模块中存在bug。那么此时开发人员和测试人员就免不得一场辩论了,但如果我们使用了git中的标签就可以很大程度的避免掉这种情况的发生,两人可以去查看开发人员所提交的那一个版本的代码,或许是测试人员漏掉了一些关键资料等等,这样也能够提高整个项目的开发效率。

        

        了解完了上述的内容,可以让我们更好的运用下面的知识!

一.Git分支是什么

        Git分支是Git版本控制系统中的一个重要概念。它可以让开发人员在同一个代码库中并行开发多个独立的功能或修复不同的bug,从而使软件开发变得更加灵活和高效。

        在Git中,分支就是指向具体提交的指针。Git默认创建一个名为"master"的主分支,表示主要的开发线路。在这个主分支上进行的开发工作形成了项目的主要历史线。除了主分支外,开发人员还可以为各种不同的需求或任务创建其他分支。

        创建新的分支后,开发人员可以在这个新的分支上独立地进行开发工作,而不会影响主分支或其他分支。开发人员可以在新分支上进行实验、尝试新功能、修复bug等,而不会破坏主分支的稳定性。

        当开发人员完成了在分支上的工作后,可以选择将该分支的改动合并到主分支或其他目标分支中。Git提供了强大的合并和分支管理工具,使得合并过程相对简单且自动化。

二.Git分支的使用

1.分支的使用场景

  • 功能开发分支:当开发团队需要添加新功能时,他们通常会创建一个新的分支来进行开发。这个分支可以独立于主干开发进行,并且不会影响其他功能的开发进度。一旦开发完成并且经过测试,这个分支就可以合并到主干上,将新功能发布给用户。
    • 例如,你在开发一个电商网站,正在添加一个购物车功能。你可以创建一个名为"shopping-cart"的分支,并在该分支上进行购物车功能的开发。这样,其他开发人员可以继续在主干上进行其他功能的开发,而购物车功能的开发则可以在分支上进行,互不干扰。一旦购物车功能开发完成,你可以将该分支合并回主干。
  • 修复bug分支:当发现线上版本存在bug时,为了及时修复问题,开发团队通常会创建一个新的分支来修复bug。这个分支可以从对应的发布版本创建,并且只包含与修复该bug相关的变更。修复bug的分支通常会经过测试,并在修复完成后合并回主干和其他分支中。
    • 例如,你在开发一个音乐播放器应用程序,用户反馈在特定设备上无法播放某些音乐文件。你可以从对应的发布版本创建一个名为"bug-fix"的分支,并在该分支上进行修复工作。修复完成后,你可以将该分支合并回主干和其他分支,将修复后的版本发布给用户。
  • 版本发布分支:当准备发布一个新的版本时,开发团队通常会创建一个版本发布分支。这个分支可以在发布前进行最后的测试和准备工作,以确保新版本的稳定性。一旦版本准备就绪,发布分支可以合并回主干,并作为新版本发布。
    • 例如,你的团队计划发布一个软件更新,包含多个功能改进和bug修复。你可以创建一个名为"release-v2.0"的分支,并将这个分支用作版本发布分支。在这个分支上,你可以进行最后的功能测试、性能测试和文档更新等准备工作。完成后,你可以将发布分支合并回主干,并进行版本发布。

2.分支的命令操作

1.增加

git branch 分支名字

2.删除

  git branch -d 分支名字

3.查看

  git branch

4.切换分支

git checkout 分支名字

5.创建+切换分支

  git checkout -b 分支名字

6.合并某分支到当前分支

注意:合并不是删除之前的分支,所以之前的合并进来的分支也还是存在的

7.提交到远程

git push origin  分支名字

3.IDEA操作分支

1)IDEA操作git分支

2)IDEA中分支的相关操作

我们按照前面的操作,就可以进到操作分支的这个界面了

①新增分支

创建完了,在IDEA的下方也会有一个提示

②删除分支

③查看分支
查看
将本地分支推送到码云

三.Git标签是什么  

   Git标签是Git版本控制系统中的一个重要概念,它通常被用于标记代码库的特定版本或重要的里程碑。

        与Git分支不同,Git标签是一个静态的指针,指向特定的提交(commit),而不是分支上的移动指针。标签通常用于在代码库中的某个特定提交上做一个有意义的标记,方便以后的引用和识别。

        标签可以用于标记软件发布的版本号、重要的里程碑、发布日期等信息。它可以帮助团队或开发者追踪项目的演进和历史,同时也有助于在不同的版本之间进行比较和回溯

在Git中,有两种类型的标签:轻量标签(Lightweight Tags)和附注标签(Annotated Tags)。

                轻量标签是Git中最简单的一种标签形式,只包含一个指向特定提交的引用。创建轻量标签非常简单,只需在需要标记的提交上运行简单的命令即可。

                附注标签则是一个独立于分支的Git对象,其中包含有关标签的信息,如标签名称、标签的创建者、创建日期、一个标签消息等。附注标签比轻量标签更推荐使用,因为它们可以提供更多的元数据和信息,方便团队成员之间的沟通和理解。

四.Git标签的使用

1.分支的命令操作

 ①.查看所有标签

注意:标签不是按时间顺序列出,而是按字母排序的。可以用git show <tagname>查看标签信息

  git tag

②.创建tag

  一定要切换到需要打标签的分支上,例如:dev,再创建标签

  git checkout dev

创建标签

git tag 1.0.0-alpha

git标签分为两种类型:轻量标签和附注标签,区别:附注标签带注解

git tag 1.0.0-alpha                         //创建轻量标签
git tag -a 1.0.0-alpha -m "一期开发完成"    //创建附注标签

③.推送标签到远程

 git push origin 1.0.0-alpha

④.删除tag

删除本地tag

因为创建的标签都只存储在本地,不会自动推送到远程。所以,标签可以在本地直接删除
     

 git tag -d 1.0.0-alpha
删除远程tag  

 1.如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除
   

git tag -d 1.0.0-alpha

   2.然后,再从远程删除。删除命令也是push,但是格式如下:
 

git push origin :refs/tags/1.0.0-alpha

2.IDEA操作标签

1)IDEA操作git标签

2)IDEA中分支的相关操作

①增加标签

创建成功之后也会有相应的提示

②删除标签

  在idea中由于没有找到删除标签的功能,所以只能采用命令行的方式进行 删除本地tag!

③查看标签

如果有这个标签,便会切换到这个标签

💡辉辉小贴士💡 关于分支和标签必须知道的小常识!!

1.分支的命名规范

   dev环境:开发环境,外部用户无法访问,开发人员使用,版本变动很大。
   test环境:测试环境,外部用户无法访问,专门给测试人员使用的,版本相对稳定
   pre环境:灰度环境,外部用户可以访问,但是服务器配置相对低,其它和生产一样。
   pro(master)环境:生产环境,面向外部用户的环境,连接上互联网即可访问的正式环境。

2.标签

lpha
beta
rc
r

3.分支与标签的关系

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

4.软件的命名规则

  1.Base版:
    此版本表示该软件仅仅是一个假页面链接,通常包括所有的功能和页面布局,但是页面中的功能都没有做完整的实现,
    只是做为整体网站的一个基础架构

  2.Alpha版: 
    此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,
    该版本软件的Bug较多,需要继续修改

  3.Beta版: 
    该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,
    需要经过多次测试来进一步消除,此版本主要的修改对像是软件的UI

  4.RC版: 
    该版本已经相当成熟了,基本上不存在导致错误的BUG,与即将发行的正式版相差无几

  5.Release版: 
    该版本意味“最终版本”,在前面版本的一系列测试版之后,终归会有一个正式版本,是最终交付用户使用的一个版本。
    该版本有时也称为标准版。一般情况下,Release不会以单词形式出现在软件封面上,取而代之的是符号(R)。

5.版本命名规范
 

软件版本号由四部分组成,
第一个1为主版本号,
第二个1为子版本号,
第三个1为阶段版本号,
第四部分为日期版本号加希腊字母版本号,


希腊字母版本号共有5种,
分别为:base、alpha、beta、RC、release。
例如:1.1.1.051021_beta。

好啦,今天的分享就到这了,希望能够帮到你呢!😊😊  

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

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

相关文章

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轻量应用服…

redis学习指南--概览篇

redis怎么学 官方学习网站&#xff1a; redis.cn 1、整体了解redis redis是一个内存数据库、kv数据库&#xff0c;数据结构数据库&#xff0c;redis中数据都是存储在redis中&#xff0c;可以通过key查找value&#xff0c;value可以有多种数据结构&#xff0c;有&#xff1a;…

归并外排序实现

文章目录 1. 海量数据排序 1. 海量数据排序 如果我们想在文件中海量数据排序&#xff0c;我们比较适合选用归并排序。 首先&#xff0c;我们要看要排序的文件的大小&#xff0c;比如说这个文件是10G&#xff0c;而我们的内存是1G&#xff0c;那么我们可以把文件切成10份。这样…

汽车操纵稳定性matlab仿真

1、内容简介 略 14-可以交流、咨询、答疑 2、内容说明 汽车操纵稳定性matlab仿真&#xff0c;包含完整的论文 操纵动力学、两自由度 摘要&#xff1a;当今&#xff0c;仿真技术日益广泛地应用于汽车工程领域&#xff0c;操纵稳定性研究越来越多地使用成熟的计算机仿真理论…