Git进阶用法:Git分支轻松使用,配有图文

一、文章内容

  1. git和分支相关的概念.
  2. git和分支有关的命令.
  3. git项目实战环节.

二、相关概念

分支:分支的概念好比树干的分支,每一跟分支都是从主干分出来的,营养是主干给的,所以在git里主干和分支也是如此,在git里主分支是默认有的也只能有一个,名字是master,然后分支可以有好多个,一般情况下,master主分支里放的内容是正式项目(可以跑在服务器的内容),主干和分支的关系如图1所示.

主干v1
主干v2
主干v3
分支1
分支2
分支3

图1 分支和主干的关系

分支可以是无数多个,可以在主干的任意地方.

三、真实项目-紧急bug修复

问题描述:假设我们现在上线一个网站index.html,这个网页内容是如图2所示,并且已经在master(主干)生成一个新版本了是v1,秃然你的上司要求你开发一个新功能,在导航栏加一个听歌功能,然后为了项目正常运行你生成一个枝干叫做music,后你开发你的音乐模块,过了2周,你的音乐功能开发到50%,然后发现线上项目出现了bug,需要你紧急修复以下,这时候你音乐功能写了一半,然后又让你修复v1的bug,你该怎么办?是选择回滚到v1,修改bug后继续重新写音乐功能还是,怎么办?在没学习分支你只能复制音乐的功能,然后回滚到v1修改bug然后手动将音乐相关代码复制上去,接着写剩下的50%,在你学习过后你可以生成一个新分支,叫修改bug,然后合并到主分支,然后接着写音乐代码,所有音乐代码写完,然后继续合并分支到主干,这样就解决了紧急bug修复.

image.png

图2 index主页内容

步骤:

1.使用git branch music创建一个分支叫music,分支创建好后,接着在index.html继续编写代码,不会影响master的代码所以我们可以尽情开发,然后我们开发mnusci代码,如图3所示.

image.png

图3 音乐模块开发50%

2.现在你的老板跟你说线上运行的版本出现bug了,你赶快去修复一下,我们现在开开始修复bug,在修复bug前,注意需要将music开发的内容提交版本,如图4所示.

image.png

图4 提交已开发50%的音乐程序

3.接着回到主分支master,语法git checkout master ,然后创一个修改bug分支,语法git branch bug_hange,然后修改index.html页面进行bug修复,修复好的界面如图5所示.然后切换回主分支,然后进行合并,语法git checkout master ,然后合并语法:git merge bug_change,一定要注意: 先要切换到主分支然后进行合并,因为线上代码在主分支跑,如果合并到bug_change分支,先上代码任然有bug,未得到解决,所以务必注意.合并结果如图6所示.然后我们提交代码生成v2.使用的是昨天讲的git add .和commit语法.

image.png

图5 bug修改完毕

image.png

图6 合并的结果

4.现在我们将bug修复完毕,线上代码正常,接着开发我们musci功能,切换到musci分支语法:git checkout music,然后开发…开发完毕,提交内容生成v3版本,依然使用git add, commit,然后切换到master分支,进行合并.直接git merge music,然后提交生成v4版本,然后我们打开index.HTML,如图7所示.

image.png

图7 bug修复,音乐功能上线

根据上述4个步骤就可以完成在新功能开发时,修改线上bug了

四、技术总结

本章所需要的命令;

命令解释
git branch查看本地分支
git branch 分支名新增分支
git branch -d 分支名删除分支
git checkout 分支名切换分支
git merge 分支名合并分支

本节需要掌握上述代码,并且可以清晰理清上述代码,即可.在掌握命令的基础上,结合项目实战熟练掌握该基本技能.
如果在学习过程中有什么不懂的地方,欢迎Liuyan.

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

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

相关文章

day02_mysql-DDLDMLDQL_课后练习 - 参考答案

文章目录 day02_mysql_课后练习第1题第2题 day02_mysql_课后练习 第1题 案例: 1、创建数据库test02_library 2、创建表格books 字段名字段说明数据类型b_id书编号int(11)b_name书名varchar(50)authors作者varchar(100)price价格floatpub…

opengl 学习(六)-----坐标系统与摄像机

坐标系统与摄像机 分类引言坐标系统摄像机教程在CMake中使用全局定义预编译宏,来控制是否开启错误检查补充 分类 opengl c 引言 OpenGL希望在每次顶点着色器运行后,我们可见的所有顶点都为标准化设备坐标(Normalized Device Coordinate, NDC)。也就是说&#xff…

pcl采样:随机采样

pcl 随机采样,实际上就是抽稀 头文件 代码 结果

ubuntu系统下如何使用vscode编译和调试#小白入门#

编程环境:ubuntu系统为18.04.1,vscode版本为1.66.2 一、VSCode切换中文显示: 1、vscode安装完成后启动,在左侧externsions中搜索“简体中文”插件,并完成安装: 2、选择右下角齿轮形状的"Manage"&#xff…

【C++】弥补C语言的不足(①命名冲突问题)

Hello,这里是关于C的入门,C的命名冲突问题,如果你像我一样对命名空间满是疑惑,只知道using namespace std,那么可以看下这篇文章,我自己之前的一些疑惑以及一些形象的理解。 命名冲突问题与命名空间 🌻命名…

【图解物联网】第1章 物联网的基础知识

1.1 物联网入门 1.1.1 物联网 物联网的英语是Internet of Things,缩写为IoT,这里的“物”指的是我们身边一切能与网络相连的物品。只要能与网络相连,就都是物联网说的“物”。 物联网就是“物”之间通过连接互联网来共享信息并产生…

CSS 让元素根据内容自适应宽度

一、需求 点击链接跳转,只点击标红区域才跳转,右侧空白区域不要跳转 二、实现 宽度太宽,导致右侧空白区域也加了跳转效果,修改为 将元素的最大宽度设置为其内容所需的宽度。 方法一:建议方式 使用 display: inline…

MyBatis框架简述

作用 降低开发人员使用JDBC的难度降低开发人员进行Dao层的开发难度 MyBatis本质上就是对JDBC的封装,通过MyBatis完成CRUD。MyBatis在三层架构中负责持久层的,属于持久层框架。MyBatis的发展历程:【引用百度百科】 MyBatis本是apache的一个开…

数据结构—稀疏多项式相加

利用链表实现两个稀疏多项式相加。 代码 #include <iostream> using namespace std;// 定义多项式项结构体 typedef struct {int x; // 系数int y; // 指数 } Elemtype;// 定义链表节点结构体 typedef struct Node {Elemtype data;struct Node* next; } *LinkList, N…

C语言 自定义类型:联合和枚举

目录 前言 一、联合体 1.1 联合体的特点 1.2 联合体与结构体的区别 1.3 联合体的大小计算 1.4 联合体例子 1.5 联合体判断大小端 二、枚举 2.1 枚举类型定义 2.2 枚举类型的优点 2.3 枚举类型的使用 总结 前言 之前我们讲了C语言其中一个自定义类型结构体&#xff…

C++面试宝典第36题:骑士游历

题目 在国际象棋的棋盘上,使一个骑士遍历所有的格子一遍且仅一遍。对于任意给定的顶点,输出一条符合上述要求的路径。骑士的走法和中国象棋的马的走法一样,走日。 解析 本题是一个经典的回溯搜索问题,具体来说是求解国际象棋棋盘上骑士的遍历问题,也称为骑士巡游问题(Kni…

【链表】Leetcode 25. K 个一组翻转链表【困难】

K 个一组翻转链表 给你链表的头节点 head &#xff0c;每 k 个节点一组进行翻转&#xff0c;请你返回修改后的链表。k 是一个正整数&#xff0c;它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍&#xff0c;那么请将最后剩余的节点保持原有顺序。你不能只是单纯的改…

SAP前台处理:物料主数据创建<MM01>之会计视图

一、背景&#xff1a; 终于来到了物料主数据&#xff0c;我觉得物料账是SAP最重要的一项发明&#xff0c;也一直是SAP的一项重要优势&#xff0c;物料账记录了一个个物料的生生不息&#xff1b; 本章主要讲解物料主数据和财务相关的主要内容&#xff1a;这里特别提示由于作者…

脚本实现Ubuntu设置屏幕无人操作,自动黑屏

使用 xrandr 命令可以实现对屏幕的控制&#xff0c;包括调整分辨率、旋转屏幕以及关闭屏幕等。要实现 Ubuntu 设置屏幕在无人操作一段时间后自动黑屏&#xff0c;可以借助 xrandr 命令来关闭显示器。 首先&#xff0c;你需要找到系统中显示器的名称&#xff0c;可以通过运行 x…

联通短信平台有什么特点?

【直连优势&#xff0c;安全可靠】 中国联通A2P短信服务直连其内地短信通道&#xff0c;这意味着企业用户能够享受到更为直接的运营商连接服务&#xff0c;确保每一条短信都具有卓越的性能表现和无可挑剔的稳定性。这种点对点的通信模式极大地降低了信息延迟和丢失的风险&#…

[云] vmware: host: net: Net.CoaleseDefaultOn

https://communities.vmware.com/t5/Storage-Performance/Advanced-Networking-Performance-Options/ta-p/2792649 在vsphere client下的路径是&#xff1a; 选择使用的host -> 右键setting->configure-> system->advanced system setting->edit->Net.Coales…

哪些事是你当了领导才明白的?

哪些事是你当了领导才明白的&#xff1f; 毕业5年&#xff0c;17年开始带团队&#xff0c;确实很多事不做到管理这一层&#xff0c;就真的意识不到。 带着【执行者】和【管理者】这2个视角&#xff0c;再结合我毕业至今这5年的所有职场经历&#xff0c;聊聊“职场潜规则”。 …

PowerShell正则表达式匹配文件内容并输出到屏幕(或保存到文件)

代码&#xff1a; foreach ($line in Get-Content -path .\test.sql) { if ($line -match bdw_\w*.\w*) {write-output $matches[0]}}思路&#xff1a; 读取文件并遍历 foreach ($line in Get-Content -path .\test.sql) 正则匹配 if ($line -match ‘bdw_\w*.\w*’) 这个匹配…

电子考试信息软件系统设计

1 整体设计 融机改与人改、出题、答题、图表浏览、下载为一体。 每课十套试卷。随机抽题形成试卷&#xff0c;选项顺序随机打乱。 云端分布微服体系架构&#xff0c;非关系文档数据库支撑&#xff0c;合理编码数据表关联。 神禹网关调度&#xff0c;NACOS监护。 负载均衡与…

JavaWeb里的控制器Servlet,过滤器Filter,监听器Listener

文章目录 简介控制器servlet控制器(Controller)概述控制器的工作原理控制器的生命周期控制器的种类控制器的应用场景示例代码Servlet控制器示例Spring MVC控制器示例 总结 过滤器filter过滤器(Filter)概述过滤器的工作原理过滤器的生命周期过滤器的链式调用过滤器的应用场景示例…