【Git】分支管理之创建、切换、合并、删除分支以及冲突处理

目录

一、理解分支

二、创建、切换、合并分支

三、删除分支

四、冲突处理

五、合并模式

六、合并策略

七、Bug分支处理

八、强制删除分支


一、理解分支

master其实就是一个指针 ,他指向的是主分支最近一次commit。我们可以创建新的分支,在新的分支上进行提交,最后将分支进行合并

image.png

二、创建、切换、合并分支

现在我们就可以在我们本地仓库创建一个分支

git branch [分支名]

当新的分支被创建时他也指向master分支最近一次提交的位置

image.png

此时我们可以通过以下命令来查看当前仓库有几个分支

git branch 

此时我们创建了一个dev分支,那么我们要怎样去切换到dev分支呢

git checkout dev   # 切换到dev分支

最后我们在dev分支开发完成并测试后可以使用下面命令进行分支合并 

git checkout master # 首先切换到要合并到的那个分支

git merge master  # 进行分支合并

三、删除分支

git branch -d [name] # 删除分支

四、冲突处理

此时如果我们有两个分支一个master一个dev分支

假设我们的master分支上的文件f1.txt中内容是“aaa“,同样dev分支上的f1.txt文件是“bbb”,这个时候如果我们将dev分支合并到master分支就会存在冲突,则会合并失败,他会告诉我们在哪个文件合并冲突,然后让我们解决冲突并将结果重新提交,此时我们需要进入有冲突的文件中,进行冲突修改后重新提交即可

image.png

我们需要找到对应文件进行修改后再次提交 

五、合并策略

master主分支是线程环境一定是稳定无bug的,dev分支的代码经过一系列的测试才能合并到master分支上。如果这个时候需要开发几个新的功能,我们就可以创建多个分支同时进行开发,最后在开发测试完毕后合并到master分支上

六、Bug分支处理

如果在master分支上的项目在线上出现了bug,而在此之前我们需要开发一个新的功能从而创建了一个dev分支并且在该分支上开发了一段时候,但是此时发现在创建分支时的代码存在bug,我们应该正确的修复bug呢?

首先我们需要执行以下命令将dev分支上已经开发的部分代码放到存储区

git stash # 将工作区中的修改存储到存储区中

然后我们不能直接在master分支上进行修改,所以我们需要创建一个修复bug的分支dev2,然后在该分支上进行bug修改,修复完成后将该分支合并到master分支上。然后执行git stash pop 命令将存储区的代码进行恢复,在开发完成后,我们不能直接将代码合并到master分支上,由于我们开发的这部分之前的代码是存在bug的,在合并时可能由于人工问题出现新的bug所以,此时我们可以将master代码合并到dev分支,在dev分支合并测试后再合并到master分支

七、强制删除分支

git branch -D [name] # 强制删除

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

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

相关文章

Arcgis之 KML/KMZ文件转shp

一般我们在Goole Earth上勾画的区域导出后都为KML或者KMZ格式的,但无法在arcgis等软件上直接应用,故需进行一定的转换 1.打开ArcMap,选择ArcToolbox->Conversion Tools->From KML->KML To Layer 得到如下结果(由于本KML…

请问学JavaScript 前要学html 和css 吗?

前言 html和css可以理解为是一个网站的骨架和皮肤,这两部分做好后整个网站的外观展示的完成度基本就有了个90%左右,所以在学习js前是需要学习html和css 的,这两部分不用花特别多的时间(虽然css如果想做一些非常炫酷的效果个人认为…

什么是SVM算法?硬间隔和软间隔的分类问题

SVM全称是supported vector machine(支持向量机),即寻找到一个超平面使样本分成两类,并且间隔最大。 SVM能够执行线性或⾮线性分类、回归,甚至是异常值检测任务。它是机器学习领域最受欢迎的模型之一。SVM特别适用于中小型复杂数据集的分类。…

MobaXterm通过SSH访问Ubuntu服务器遇到的一个问题

在Windows下的MobaXterm界面配置完ubuntuIP以后显示access denied,排查发现是因为在ubuntu那边忘记安装了SSH Serve,安装过程如下: 第一步:安装所需包 让我们从打开终端输入一些必要命令开始。 注意,在安装新的包或…

SpringBoot统一异常处理和统一返回格式

上篇博客我们讲解了使用AOP来进行统一的用户登录判断,其实像这种功能统一且使用较多的地方,都可以用AOP来处理,除了统⼀的⽤户登录判断之外,AOP 还可以实现: 统⼀⽇志记录统⼀⽅法执⾏时间统计(在性能优化…

机器学习:混合高斯聚类GMM(求聚类标签)+PCA降维(3维降2维)习题

使用混合高斯模型 GMM,计算如下数据点的聚类过程: Datanp.array([1,2,6,7]) 均值初值为: μ1,μ21,5 权重初值为: w1,w20.5,0.5 方差: std1,std21,1 K2 10 次迭代后数据的聚类标签是多少? 采用python代码实现: from scipy import…

人工智能-Dlib+Python实现人脸识别(人脸识别篇)

人脸识别流程 人脸检测,人脸数据提取:首先是检测到人脸保存人脸数据:可以保存到mysql数据库中mysql数据库连接mysql数据库安装mysql数据库操作设置人脸数据标签:(人脸名字),保存到数据库打开摄像头,检测到人脸,提取人脸数据:人脸数据与数据库中的数据对比,1、人脸检…

【图论】Prim算法

一.介绍 Prim算法是一种用于解决最小生成树问题的贪心算法。最小生成树问题是指在一个连通无向图中找到一个生成树,使得树中所有边的权重之和最小。 Prim算法的基本思想是从一个起始顶点开始,逐步扩展生成树,直到覆盖所有顶点。具体步骤如下…

用合成数据训练托盘检测模型【机器学习】

想象一下,你是一名机器人或机器学习 (ML) 工程师,负责开发一个模型来检测托盘,以便叉车可以操纵它们。 ‌你熟悉传统的深度学习流程,已经整理了手动标注的数据集,并且已经训练了成功的模型。 推荐:用 NSDT设…

【业务功能篇60】Springboot + Spring Security 权限管理 【终篇】

4.4.7 权限校验扩展 4.4.7.1 PreAuthorize注解中的其他方法 hasAuthority:检查调用者是否具有指定的权限; RequestMapping("/hello")PreAuthorize("hasAuthority(system:user:list)")public String hello(){return "hello Sp…

深度学习入门教程(1):用神经网络预测糖尿病病例Predict Diabetes Cases with Neural Networks

本深度学习入门教程是在polyu HPCStudio 启发以及资源支持下进行的,在此也感谢polyu以及提供支持的老师。 大纲(what will you learn from this project) 1:What are neural networks? 2:Why use neural …

3D 渲染技巧-如何创建高质量写实渲染?

掌握创建高质量建筑渲染和任何 3D 渲染的艺术是一项复杂且需要技巧的工作,通常需要多年的经验和实践。实现逼真的结果需要仔细考虑众多因素,并避免可能导致缺乏真实性的假渲染效果的常见错误。 避免常见错误 - 提升渲染游戏的技巧 在追求创建真正逼真的…

从零开始学习CTF——CTF是什么

引言: 从2019年10月开始接触CTF,学习了sql注入、文件包含等web知识点,但都是只知道知识点却实用不上,后来在刷CTF题才发现知识点的使用方法,知道在哪里使用,哪里容易出漏洞,可是在挖src漏洞中还…

Appium+python自动化(二十四) - 元素等待(超详解)

思考 在自动化过程中,元素出现受网络环境,设备性能等多种因素影响。因此元素加载的时间可能不一致,从而会导致元素无法定位超时报错,但是实际上元素是正常加载了的,只是出现时间晚一点而已。那么如何解决这个问题呢&am…

【业务功能篇57】Springboot + Spring Security 权限管理 【上篇】

4.权限管理模块开发 4.1 权限管理概述 4.1.1 权限管理的意义 后台管理系统中,通常需要控制不同的登录用户可以操作的内容。权限管理用于管理系统资源,分配用户菜单、资源权限,以及验证用户是否有访问资源权限。 4.1.2 RBAC权限设计模型 …

Scratch 教程 之 如何四舍五入保留一个小数到指定的数位

有些时候,我们需要四舍五入一个多位小数到指定的位,但scratch并没有这个积木,怎么做呢?我来教你~ 我们创建一个函数,需要时调用就行了~ 如图,创建一个带参函数,勾选"…

wxwidgets Ribbon构建多个page与按钮响应

新建一个控制台应用程序,添加好头文件的依赖与lib库文件的依赖,修改属性: 将进入ribbon界面的文件与主界面的类分开: 1、RibbonSample.cpp #include "stdafx.h" #include "MyFrame.h" class MyApp : public…

微服务——Docker

docker与虚拟机的区别 首先要知道三个层次 硬件层:计算机硬件 内核层:与硬件交互,提供操作硬件的指令 应用层: 系统应用封装内核指令为函数,便于程序员调用。用户程序基于系统函数库实现功能。 docker在打包的时候直接把应用层的函数库也进行打包&a…

机器学习深度学习——softmax回归的简洁实现

👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——softmax回归从零开始实现 📚订阅专栏:机器学习&&深度学习 希望文章对你…

状态机实现N位按键消抖

状态机实现N位按键消抖 1、原理 利用状态机实现按键的消抖,具体的原理可参考 (50条消息) 基于FPGA的按键消抖_fpga 按键消抖_辣子鸡味的橘子的博客-CSDN博客 状态机简介: 状态机分类可以主要分为两类:moore和mealy 根据三段式状态机最后…