【Git】一文带你入门Git分布式版本控制系统(分支管理策略、Bug分支)

news2024/11/17 1:58:54

个人简介

👀个人主页: 前端杂货铺
🙋‍♂️学习方向: 主攻前端方向,也会涉及到服务端
📃个人状态: 在校大学生一枚,已拿多个前端 offer(秋招)
🚀未来打算: 为中国的工业软件事业效力n年
🥇推荐学习:🍍前端面试宝典 🍉Vue2 🍋Vue3 🍓Vue2&Vue3项目实战 🥝Node.js 🥭Git🍒Three.js
🌕个人推广:每篇文章最下方都有加入方式,旨在交流学习&资源分享,快加入进来吧

Git 系列文章目录

Git 专栏参考链接
Git(一)【Git】一文带你入门Git分布式版本控制系统(简介,安装,Linux命令)
Git(二)【Git】一文带你入门Git分布式版本控制系统(必要配置、工作原理、创建/克隆项目)
Git(三)【Git】一文带你入门Git分布式版本控制系统(创建版本库、 版本回退)
Git(四)【Git】一文带你入门Git分布式版本控制系统(撤销修改、删除文件)
Git(五)【Git】一文带你入门Git分布式版本控制系统(创建合并分支、解决冲突)

文章目录

  • Git 系列文章目录
    • 一、分支管理策略
      • 1、创建 dev 分支,修改 txt 并提交
      • 2、切换至主分支并合并
      • 3、查看分支历史
    • 二、Bug 分支
      • 1、不具备提交条件的 dev 分支
      • 2、储藏工作现场
      • 3、修复 Bug
      • 4、恢复 dev 分支


一、分支管理策略

通常,合并分支时,如果可能,Git 会用 Fast forward 模式,但这种模式下,删除分支后,会丢掉分支信息。

如果要强制禁用 Fast forward 模式,Git 就会在 merge 时生成一个新的 commit,这样,从分支历史上就可以看出分支信息。

下面我们实战一下 --no-ff 方式的 git merge

1、创建 dev 分支,修改 txt 并提交

我们创建新的 dev 分支,修改 txt 文件,推到暂存区并提交至本地仓库

在这里插入图片描述

git checkout -b dev
git branch
git add readme.txt
git commit -m "add merge"

在这里插入图片描述


2、切换至主分支并合并

切换到 master 主分支,准备合并(请注意 --no-ff 参数,表示禁用 Fast forward)

git checkout master
git merge --no-ff -m "merge with no-ff" dev

在这里插入图片描述


3、查看分支历史

git log --graph --pretty=oneline --abbrev-commit

摘自 廖雪峰的官方网站

在这里插入图片描述
在这里插入图片描述


二、Bug 分支

Bug 可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。

1、不具备提交条件的 dev 分支

当我们正在 dev 分支上进行工作还没有提交(并不是不想提交,而是工作了一半,没法提交),这时出现了一个要紧急修改的 Bug,我们便可以使用 stash 功能,把当前工作现场“储藏”起来。

git branch
git status

在这里插入图片描述


2、储藏工作现场

我们使用 stash 把当前工作现场(未完成的 dev 分支)储藏起来,之后查看状态(很干净)

git stash
git status

在这里插入图片描述

3、修复 Bug

假定我们要在 master 分支上修复 Bug(代号 101)

我们要进行以下 Bug(代号 101)的修改

在这里插入图片描述

在这里插入图片描述

我们首先切换到 master 分支,之后创建一个临时分支 issue-101,并提交

在这里插入图片描述

切换至 master 分支,合并

至此,Bug 修复完成

git checkout master
git merge --no-ff -m "merged bug fix 101" issue-101

在这里插入图片描述


4、恢复 dev 分支

我们先切换到 dev 分支,查看当前状态

git checkout dev
git status

在这里插入图片描述

Git 把 stash 存放在某个位置了,我们需要找回工作现场 dev 分支

在这里插入图片描述

之后我们需要对其进行恢复(两种方法)

方法一:用 git stash apply 恢复,但是恢复后,stash 内容并不删除,我们需要用 git stash drop 来删除
方法二:用 git stash pop,恢复的同时把 stash 内容也删了

在这里插入图片描述

之后删除 issue-101 分支,查看当前分支情况(要丢弃一个没有被合并过的分支,可以通过 git branch -D <name> 强行删除)

在这里插入图片描述


在这里插入图片描述


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

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

相关文章

Eth04 - Eth分层模块架构和索引方案

文章目录 1 Eth分层模块架构2 索引方案3 发送成功和接收成功回调函数传送门 ==>> AutoSAR入门和实战系列总目录 1 Eth分层模块架构 下面的图片表明了以太网控制器驱动程序和硬件的关系;从EthIf看来,要通过以太网控制器层去访问以太网控制器硬件,以太网控制器层有多…

AcWing1204.错误票据——学习笔记

题目&#xff1a;1204. 错误票据 - AcWing题库https://www.acwing.com/problem/content/description/1206/ import java.util.Scanner;public class Main {public static void main(String args[]){Scanner input new Scanner(System.in);int line input.nextInt();int loseI…

Python开发环境

1. Python开发环境 开发环境&#xff0c;英文是IDE&#xff08;Integrated Development Environment 集成开发环境&#xff09;。 不要纠结于使用哪个开发环境。开发环境本质上就是对Python解释器python.exe的封装&#xff0c;核心都一样。可以说:“开发环境IDE&#xff0c;只…

SpringCloud(10)— Elasticsearch集群

SpringCloud&#xff08;10&#xff09;— Elasticsearch集群 一 搭建ES集群 单机的 Elasticsearch 做数据存储&#xff0c;必然面临两个问题&#xff1a;海量数据存储问题&#xff0c;单点故障等 海量数据存储问题&#xff1a;将索引库从逻辑上拆分为 N 个分片&#xff08;…

直播回顾 | 如何运用数智化助力光伏上游产业节能降碳?

12月29日&#xff0c;【始祖双碳研习社-行业解决方案】系列直播课第一期直播顺利举办。 始祖科技解决方案专家张开宇在本次直播上进行了以《如何运用数智化助力光伏上游产业节能降碳》的主题分享&#xff0c;详细介绍了光伏行业产业链分析、光伏行业节能减排的现状与挑战、数智…

【Javassist】快速入门系列12 当检测到catch语句时在catch前插入代码

系列文章目录 01 在方法体的开头或结尾插入代码 02 使用Javassist实现方法执行时间统计 03 使用Javassist实现方法异常处理 04 使用Javassist更改整个方法体 05 当有指定方法调用时替换方法调用的内容 06 当有构造方法调用时替换方法调用的内容 07 当检测到字段被访问时使用语…

【C++学习】vector的使用及模拟实现

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《C学习》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; vector的使用及模拟实现&#x1f387;构造函数&#x1f9e8;模拟实现&#x1f9e8;vector的扩容机制&…

力扣(LeetCode)363. 矩形区域不超过 K 的最大数值和(2022.12.30)

给你一个 m x n 的矩阵 matrix 和一个整数 k &#xff0c;找出并返回矩阵内部矩形区域的不超过 k 的最大数值和。 题目数据保证总会存在一个数值和不超过 k 的矩形区域。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,0,1],[0,-2,3]], k 2 输出&#xff1a;2 解释&…

2022年-年度总结报告

目录1.攻克的技术难题问题1&#xff1a;2.学习的新技术1.system系统的学习2.网络3.游戏22年总结23年的计划1.先给自己画个大饼2.计划内的小饼1.攻克的技术难题 问题1&#xff1a; 跑VTS测试的时候&#xff0c;mkfs.exfat挂测失败&#xff0c;VTS刷最新的谷歌gsi没有过&#x…

大文件传输如何帮助媒体行业

过去几年&#xff0c;随着分辨率从4k到6k再到8k的升级&#xff0c;观众已经适应了高分辨率的时代。然而&#xff0c;许多媒体工作室的工作流程还停留在过去。 TB甚至PB大小的材料的传输让从业者无所适从。这就是高速文件传输对媒体行业有很大帮助的原因。 什么是大文件传输&am…

81.【SpringMVC】

SpringMVC(一)、认识MVC三层架构1.回顾MVC(1).什么是MVC三层框架(2).MVC要做那些事情?(3).常见的MVC三层框架结构(4).知识拓展2.代码回顾3.什么是SpringMVC(二)、第一个SpringMVC0.前提1.搭建环境2.配置WEB-INF的XML配置文件3.在资源Resource的包下设置springmvc-servlet.xml4…

30-深入Hotspot源码与Linux内核理解NIO/BIO/AIO

IO模型 IO模型就是说用什么样的通道进行数据的发送和接收&#xff0c;Java共支持3种网络编程IO模式&#xff1a;BIO&#xff0c;NIO&#xff0c;AIO BIO(Blocking IO) 同步阻塞模型&#xff0c;一个客户端连接对应一个处理线程 缺点&#xff1a; 1、IO代码里read操作是阻塞操…

Spreadsheet与FineReport数据集对比

什么是数据集&#xff1f;在BI工具中指的是在报表开发前的取数过程&#xff0c;把需要的数据整合成一个数据集合&#xff0c;以便于在报表开发中使用。可以把它理解为我们基于数据库获取我们需要的数据。而数据库获取数据是有多种方式的&#xff0c;比如可以通过直接写SQL语句、…

基于verilog实现序列相关检测

题目来源牛客网&#xff0c;完整工程源码&#xff1a;https://github.com/ningbo99128/verilog 目录 1、VL25 输入序列连续的序列检测 题目介绍 思路分析 代码实现 仿真文件 2、VL26 含有无关项的序列检测 题目介绍 思路分析 代码实现 仿真文件 3、VL27 不重叠序列检…

Sleuth+Zipkin架构

为什么要链路追踪 小结&#xff1a; nacos 【name server】&#xff1a;注册中心&#xff0c;解决服务的注册与发现 nacos【config】&#xff1a;配置中心&#xff0c;微服务配置文件的中心化管理&#xff0c;同时配置信息的动态刷新 Ribbon&#xff1a;客户端负载均衡器&#…

《设计模式》享元模式

《设计模式》享元模式《设计模式》设计模式的基本原则 《设计模式》单例模式 《设计模式》工厂模式 《设计模式》原型模式 《设计模式》建造者模式 《设计模式》适配器模式 《设计模式》桥接模式 《设计模式》装饰者模式 《设计模式》组合模式 《设计模式》外观模式 《设计模式…

数据结构课设:迷宫问题

文章目录前言一、概要设计1、基本信息2、功能模块图3、功能描述4、调用关系图5、结果演示① 创建迷宫② 求解③ 清除多余路径二、完整代码前言 最近刚好在写自己的课设&#xff0c;匆匆忙忙写出来的课设系统&#xff0c;仍有不足&#xff0c;拿出来和大家分享一下&#xff0c;…

C. p-binary(二进制位)

Problem - 1225C - Codeforces Vasya会看中任何数字&#xff0c;只要它是2的整数次方。另一方面&#xff0c;Petya非常保守&#xff0c;只喜欢单一的整数p&#xff08;可以是正数、负数或零&#xff09;。为了结合他们的口味&#xff0c;他们发明了2xp形式的p-二进制数&#xf…

jmeter接口测试之导入测试用例/get请求中Url存在参数(工作日记2)

导入接口用例进行接口测试 以运营中心测试计划中的企业菜单管理为例 【前提条件】 1、有接口数据 2、有接口用例 我们需要把接口测试用例转换为CSV格式步骤如下&#xff1a; 右键选择打开方式为Notepad 需要将文件设置一下编码 文件留着备用 【步骤】 1、新建一个企业…

前端基础之PS和相关基础知识总结

PS安装&#xff1a; 淘宝 PS简介 面板简介&#xff08;菜单栏、工具栏、辅助面板&#xff09; 图片格式&#xff1a; jpgjpeg&#xff08;色彩丰富的图片&#xff09;png&#xff08;半透明图片&#xff09;gif&#xff08;网页动态图&#xff09;psd&#xff08;ps设计源文…