【Git系列】branch和tag

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术点,如集合,jvm,并发编程 redis,kafka,Spring,微服务,Netty 等
    • 常用开发工具系列:罗列常用的开发工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

    • 一.分支管理
      • 1.为什么需要 git 分支?
      • 2.查看本地分支
      • 3.查看所有分支
      • 4.查看远程所有分支
      • 5.制删除本地库
      • 6.新建分支并切换
      • 7.将指定分支合并到当前
      • 8.切换到 dev 分支
      • 9.依据 A 创建 B
      • 10.重命名
      • 11.切换远程分支
      • 12.切换到上一个分支
      • 13.本地与远程关联
    • 二.tag 管理
      • 1.为什么需要 git- tag?
      • 2.列出所有 tag
      • 3.新建 tag 指向 commit
      • 4.提交所有 tag
      • 5.新建分支指向 tag
      • 6.删除本地 tag
      • 7.删除远程 tag
      • 8.新建 tag 在当前 commit
      • 9.查看 tag 信息
      • 10.提交指定 tag

一.分支管理

1.为什么需要 git 分支?

使用 Git 分支有几个重要的原因,它们有助于更好地组织和管理软件开发过程:

  1. 并行开发: 分支允许团队在不互相干扰的情况下并行开发不同的功能或修复不同的 bug。每个分支都是一个独立的工作空间,团队成员可以在各自的分支上工作,而不会影响主代码库。

  2. 特性开发: 每个分支可以用于开发新功能。开发人员可以在一个特性分支上实现和测试新功能,而不会影响主分支。一旦新功能开发完成并测试通过,可以将其合并回主分支。

  3. Bug 修复: 分支也可以用于修复 bug。当发现主分支上的 bug 时,可以创建一个新的分支用于修复,然后将修复合并回主分支。这有助于保持主分支的稳定性,同时允许在其他分支上继续工作。

  4. 版本控制: 分支可以用于管理不同的软件版本。例如,可以有一个用于开发的主分支、一个用于发布的稳定分支,以及其他用于不同版本的分支。这使得可以同时维护多个版本的软件。

  5. 实验性开发: 开发人员可以创建分支来进行实验性的开发,尝试新的想法或实现不同的方法,而不会对主代码库造成影响。如果实验成功,可以选择将更改合并回主分支。

总体而言,使用 Git 分支可以提高团队的工作效率,减少冲突,更好地组织和管理代码库的演进过程。分支使得开发者能够同时进行多个独立的工作,并且能够更灵活地应对不同的开发和维护需求。

管理分支可能会花你5分钟的时间,不管理分支可能会花你半天的时间,严谨的开发规范,自我驱动!!!!!

2.查看本地分支

#查看本地所有分支
git branch

3.查看所有分支

#查看所有分支(本地+远程)
git branch -a

4.查看远程所有分支

#查看远程所有分支
git branch -r

5.制删除本地库

#强制删除本地库develop
git branch -D develop#删除本地库develop
git branch -d develop

6.新建分支并切换

#建立一个新的本地分支dev_3,并切换到 dev_3 分支
git checkout -b dev_3

7.将指定分支合并到当前

#将分支dev与当前分支进行合并
git merge origin/dev

8.切换到 dev 分支

#切换到本地dev分支
git checkout dev

9.依据 A 创建 B

#从主分支dev_3创建branch_3分支git branch branch_3 dev_3

image-20231207200030889

10.重命名

#将branch_3重命名为branch_5
git branch -m branch_3 branch_5

11.切换远程分支

#切换到branch_1.0/master分支
git checkout branch_1.0/master

12.切换到上一个分支

#切换到上一个分支
git checkout -

13.本地与远程关联

#建立追踪关系,在现有分支branch与指定的远程分支remote-branch之间
git branch --set-upstream [branch] [remote-branch]

二.tag 管理

1.为什么需要 git- tag?

git tag 是 Git 中用于标记特定提交的功能。标签通常用于标记软件版本,以便在将来的某个时间点能够轻松地找到和使用该特定版本的代码。以下是一些使用 Git 标签的原因:

  1. 版本标识: 标签可用于标识软件的特定版本。与分支不同,标签通常用于标记不可变的点,例如发布版本。当你在软件的某个特定版本上达到一个里程碑或发布一个稳定版本时,使用标签能够明确地标识这个状态,方便将来的查找和使用。

  2. 易于检出特定版本: 标签提供了一种简单的方式来检出代码库中的特定版本。通过使用标签,你可以轻松地切换到代码库的某个特定状态,而不必查找提交哈希值。

  3. 发布管理: 在软件开发中,发布时常常使用标签来标记发布的版本。这有助于确保在发布之后,能够轻松地找到和重现发布的代码状态。

  4. 长期支持(LTS): 对于长期支持版本的软件,通常使用标签来标记这些版本。这样,用户可以选择继续使用 LTS 版本而不升级到较新的开发版本。

  5. 易于协作: 在多人协作的项目中,使用标签可以帮助团队成员在共享的代码库中找到共同的参考点,以便更好地协同工作。

使用 git tag 命令,你可以创建轻量级标签或附注标签。轻量级标签只是一个指向特定提交的引用,而附注标签则包含更多的信息,例如标签的创建者、创建时间以及标签的注释。标签提供了一种方便的方法来组织和标识软件开发的不同版本。

2.列出所有 tag

#列出所有tag
git tag

3.新建 tag 指向 commit

#新建一个tag并且指定commit,tag名称最好和branch名称分开,可以加个-tag
git tag [tag] [commit]
git tag  v2.0.2.9_2023-08-17  5ae44897;

image-20230327143213821

4.提交所有 tag

#提交所有tag
git push --tags

5.新建分支指向 tag

#新建一个分支,指向某个tag
git checkout -b [branch] [tag]
git checkout -b v2.0.2.9  v2.0.2.9_2023-08-17

6.删除本地 tag

#删除本地tag
git tag -d [tag]
git tag -d v2.0.2.9_2023-08-17

7.删除远程 tag

#删除远程tag
git push origin :refs/tags/[tagName]
git push origin :refs/tags/v2.0.2.9_2023-08-17

8.新建 tag 在当前 commit

#新建一个tag在 当前 commit
git tag [tag]

9.查看 tag 信息

#查看tag信息
git show [tag]

10.提交指定 tag

#提交指定tag
git push [remote] [tag]

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

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

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

相关文章

将单体应用程序迁移到微服务

多年来,我处理过多个单体应用,并将其中一些迁移到了微服务架构。我打算写下我所学到的东西以及我从经验中用到的策略,以实现成功的迁移。在这篇文章中,我将以AWS为例,但基本原则保持不变,可用于任何类型的基…

云原生系列1

1、虚拟机集群环境准备 VirtualBox类似vmware的虚拟化软件,去官网https://www.virtualbox.org/下载最新版本免费的,VirtualBox中鼠标右ctrl加home跳出鼠标到wins中。 VirtualBox安装步骤 https://blog.csdn.net/rfc2544/article/details/131338906 cent…

微信小程序:button微信开放能力打开客服会话分享到聊天框

文档 https://developers.weixin.qq.com/miniprogram/dev/component/button.html 打开客服会话 按钮关键属性 open-type"contact"功能按钮 <button class"mo-open-type"open-type"contact"> </button>分享 <button class&q…

Hive HWI 配置

前言 1、下载安装好hive后&#xff0c;发现hive有hwi界面功能&#xff0c;研究下是否可以运行&#xff0c;于是使用hive –service hwi命令启动hwi界面报错。 启动hwi功能 2、访问192.168.126.110:9999/hwi&#xff0c;发现访问错误 一、HWI介绍 HWI&#xff08;Hive Web Int…

【前端】CSS基础(学习笔记)

一、简介 1、HTML局限性 HTML只关注内容的语义&#xff0c;但是丑&#xff01; 2、CSS概要 CSS 是层叠样式表 ( Cascading Style Sheets ) 的简称&#xff0c;有时我们也会称之为 CSS 样式表或级联样式表。 CSS 是也是一种标记语言 CSS 主要用于设置 HTML 页面中的文本内…

blender 粒子系统 roughness 属性

粒子系统中的Roughness是一种用来控制粒子的随机性和不规则性的属性&#xff0c;它可以影响粒子的发射方向、速度、大小、旋转等。Roughness有以下几个子属性&#xff1a; - **Uniform**&#xff1a;这个属性用来控制粒子的发射方向的随机性&#xff0c;即粒子在法线方向上的偏…

托盘四向穿梭车自动化密集库供应|单机智能向系统智能跨越的HEGERLS托盘四向车系统

随着物流产业的迅猛发展&#xff0c;托盘四向穿梭式自动化密集仓储系统可认为是在穿梭车货架系统基础上提出的一种新仓储概念。托盘四向穿梭式立体库因其在流通仓储体系中所具有的高效密集存储功能优势、运作成本优势与系统化智能化管理优势&#xff0c;已发展为仓储物流的主流…

喜讯:加速度商城系统全系列产品品牌全新升级为Shopfa

2月1日讯&#xff1a;经过1年多的品牌文化塑造&#xff0c;深圳市加速度软件开发有限公司经过研究决定&#xff0c;将旗下的多商户商城系列、小程序商城系列、B2B商城系列、供应商集采系列、电子元器件商城系列、跨境独立站商城系列、MRO工业品商城系列、外卖商城系列、智慧零售…

重写 AppiumService 类,添加默认启动参数,并实时显示启动日志

一、前置说明 在Appium的1.6.0版本中引入了AppiumService类&#xff0c;可以很方便的通过该类来管理Appium服务器的启动和停止。经过测试&#xff0c;使用该类的实例执行关闭server时&#xff0c;并没有释放端口号&#xff0c;会导致第二次启动时失败。另外&#xff0c;使用该…

6.2 U-boot 顶层 Makefile

一、U-boot工程目录分析 如果要分析uboot源码&#xff0c;首先要将uboot源码进行编译&#xff0c;编译需要在Ubuntu进行&#xff0c;把uboot文件放在一个目录下。 编译完成后的文件是这样&#xff1a; 我们需要看的文件夹如下。 1. arch 文件夹 从上图可以看出有很多架构&…

geolife笔记:整理处理单条轨迹

以 数据集笔记 geolife &#xff08;操作篇&#xff09;_geolife数据集-CSDN博客 轨迹为例 1 读取数据 import pandas as pd data pd.read_csv(Geolife Trajectories 1.3/Data//000/Trajectory/20081023025304.plt,headerNone, skiprows6,names[Latitude, Longitude, Not_Im…

【GEE笔记】在线分类流程,标注样本点、分类和精度评价

GEE在线分类流程 介绍 GEE&#xff08;Google Earth Engine&#xff09;是一个强大的地理信息处理平台&#xff0c;可以实现在线的遥感影像分析和处理。本文将介绍如何使用GEE进行在线的分类流程&#xff0c;包括标注样本点、分类和精度评价。本文以2020年5月至8月的哨兵2影像…

什么是散列函数

散列函数是一种公开的数学函数。散列函数运算的输入信息也可叫作报文。散列函数运算后所得到的结果叫作散列码或者叫作消息摘要。散列函数具有如下一些特点&#xff1a; &#xff08;1&#xff09;不同内容的报文具有不同的散列码&#xff0c;而一旦原始报文有任何改变&#xf…

__attribute__ 详解

GNU C的一大特色(却不被初学者所知)就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。 特征: __attribute__书写特征是: __attribute__前后都有两个下划线,并切后面会紧…

文件管理和操作工具Path Finder mac功能介绍

Path Finder mac是一款Mac平台上的文件管理和操作工具&#xff0c;提供了比Finder更丰富的功能和更直观的用户界面。它可以帮助用户更高效地浏览、复制、移动、删除和管理文件&#xff0c;以及进行各种高级操作。 Path Finder mac软件功能 - 文件浏览&#xff1a;可以快速浏览文…

【数据结构 — 排序 — 插入排序】

数据结构 — 排序 — 插入排序 一.排序1.1.排序的概念及其运用1.1.1排序的概念1.1.2排序运用1.1.3 常见的排序算法 二.插入排序2.1.直接插入排序2.1.1.算法讲解2.1.2.代码实现2.1.2.1.函数定义2.1.2.2.算法接口实现2.1.2.3.测试代码实现2.1.2.4.测试展示 2.2.希尔排序2.2.1.算法…

ASO优化:帮助实现企业和用户的共赢

大数据时代APP拉获新客&#xff0c;ASO优化应该这么玩&#xff01; 市场那么大&#xff0c;用户那么广。企业设计的APP如何在茫茫人群中精准地把自己送到用户面前&#xff0c;并与ta产生沟通呢。随着时代的发展&#xff0c;数据成为企业竞争的核心。APP的营销发展离不开数据推…

gcc tips - GCC使用技巧与高级特性

目录 1. 获取 GCC 编译器预定义的宏 2. 列出依赖的头文件 3. 保存预处理结果到文件&#xff08;展开define, 展开include header&#xff09; 4. 写回调跟踪记录函数运行 -finstrument-functions 5. -fdump-rtl-expand 画函数调用关系图 GCC&#xff0c;全称GNU Compiler …

第一课【习题】三方库

三方组件是开发者在系统能力的基础上进行了一层具体功能的封装&#xff0c;对其能力进行拓展的工具 。 可以通过ohpm uninstall 指令下载指定的三方库 lottie使用loadAnimation方法加载动画。 通过ohpm安装lottie后&#xff0c;在哪个文件中会生成相关的配置信息&#xf…

C++ - 哈希

在顺序结构以及平衡树中&#xff0c;由于元素关键码与其存储位置之间没有对应的关系&#xff0c;因此在查找一个元素时&#xff0c;必须要经过关键码的多次比较&#xff1b;比如顺序表中需要从表头开始依次往后比对寻找&#xff0c;查找时间复杂度为 O(N)&#xff0c;平衡树中需…