当前位置: 首页 > news >正文

Git版本管理(02)patch操作和分支操作整理

1 git patch操作

1.1 git diff比较

使用git diff用于显示当前工作区与暂存区或提交历史之间的差异,如果使用它生成patch,则需要使用git apply命令来引入patch

1.2 git patch打包

使用git format-patch生成patch

# 打包最近的一个patch:
$git format-patch HEAD^
# 打包最近的两个patch
$git format-patch HEAD^^
# 打包最近的三个patch
$git format-patch HEAD^^^
# 打包最近的n个patch
$git format-patch -n
# 打包版本n1与n2之间的patch
$git format-patch -n1 -n2
# 某次提交以后的所有patch,不包含此次提交,两者等价
$ git format-patch -s 5d7c81a2b
$ git format-patch 5d7c81a2b

打包好后会生成0001-XXX.patch 这样格式的patch,使用git am(自动提交) /git apply 来merge patch即可。

1.3 git diff和git format-patch的区别

git diff和git format-patch是Git中用于生成补丁和差异的命令,它们之间的主要区别如下:

  • git diff:git diff命令用于显示当前工作区与暂存区或提交历史之间的差异。可以显示文件的修改内容,包括添加、删除和修改的行。可以使用不同的选项和参数来控制差异的显示方式,比如显示具体的文件差异、忽略空白字符等。git diff通常用于查看尚未暂存或提交的更改,以帮助你了解当前工作区的状态和修改内容。
  • git format-patch:git format-patch命令用于生成补丁文件(patch files),它将一系列提交转换为可应用的补丁文件。git format-patch会为每个提交创建一个单独的补丁文件,每个补丁文件包含了该提交的所有修改内容。生成的补丁文件一般以.patch扩展名结尾,可以通过邮件或其他方式传递给他人,以便他们应用这些补丁到他们的代码库中。补丁文件包含了修改的具体内容,包括添加、删除和修改的行,以及与之相关的提交信息。git format-patch命令可以使用不同的选项和参数来控制生成补丁文件的方式,比如指定要处理的提交范围、生成多个补丁文件等。

总结来说:git diff用于显示当前工作区与暂存区或提交历史之间的差异,用于查看尚未暂存或提交的更改。git format-patch用于将提交转换为补丁文件,每个补丁文件包含了一个提交的所有修改内容,用于传递和应用补丁。这两个命令在不同的场景下有不同的用途,根据你的需求选择适合的命令来查看差异或生成补丁。

2 git分支操作

2.1 基本操作

2.1 基本操作
# 在master分支下保证当前代码与线上同步。
$git pull origin master 
# 查看远程分支
$git branch -r
# 查看本地和远程的所有分支
$git branch -a

2.2 新建 / 切换分支

#新建分支
$git branch <分支名> 
#切换到新建的分支
$git checkout/switch <分支名> 
#优化操作,创建分支的同时再切换到该分支
$git checkout -b <分支名> 

2.3 提交分支到远端

# 把本地分支推到远端,让远端也有一个你的分支,用来后面提交你的代码
$git push origin <分支名> 

2.4 合并分支

# 合并分支,在当前分支下将 <分支>合并到当前分支,合并冲突后手动解决冲突
# 解决后使用git commit -m "Merge branchname into current branch"来完成了分支的合并操作
# 如果有冲突则需要先解决冲突再最后提交,其中
# 介于 <<<<<<<HEAD 和 ======= 之间的内容是代码块1中内容,
# 介于 ======= 和 >>>>>>> 之间的内容是代码块2中内容。
$git merge <分支名>

2.5 删除分支

# 删除分支,注意,只有当该分支的修改已经合并到其他分支时,才能被安全地删除。如果分支的修改尚未合并,可以使用强制删除的命令
git branch -d <分支名>  
# 分支的修改尚未合并,强制删除分支
git branch -D <分支名>   

2.6 重命名本地分支

$git branch -m <oldbranch> <newbranch>

相关文章:

Git版本管理(02)patch操作和分支操作整理

1 git patch操作 1.1 git diff比较 使用git diff用于显示当前工作区与暂存区或提交历史之间的差异&#xff0c;如果使用它生成patch&#xff0c;则需要使用git apply命令来引入patch 1.2 git patch打包 使用git format-patch生成patch # 打包最近的一个patch: $git format…...

前端需要理解的HTML知识

HTML&#xff08;超文本标记语言&#xff0c;HyperText Markup Language&#xff09;不是编程语言&#xff0c;而是定义了网页内容的含义和结构的标记语言。。“超文本”&#xff08;hypertext&#xff09;是指连接单个网站内或多个网站间的网页的链接。HTML 使用“标记”&…...

机器学习笔记 - 数据科学中基于 Scikit-Learn、Tensorflow、Pandas 和 Scipy的7种最常用的特征工程技术

一、概述 特征工程描述了制定相关特征的过程,这些特征尽可能准确地描述底层数据科学问题,并使算法能够理解和学习模式。换句话说:您提供的特征可作为将您自己对世界的理解和知识传达给模型的一种方式。 每个特征描述一种信息“片段”。这些部分的总和允许算法得出有关目标变…...

深眸科技创新赋能视觉应用产品,以AI+机器视觉解决行业应用难题

随着工业4.0时代的加速到来&#xff0c;我国工业领域对于机器视觉技术引导的工业自动化和智能化需求持续上涨&#xff0c;国内机器视觉行业进入快速发展黄金期&#xff0c;但需求广泛出现同时也对机器视觉产品的检测能力提出了更高的要求。 传统机器视觉由人工分析图像特征&am…...

2023年国赛 高教社杯数学建模思路 - 案例:异常检测

文章目录 赛题思路一、简介 -- 关于异常检测异常检测监督学习 二、异常检测算法2. 箱线图分析3. 基于距离/密度4. 基于划分思想 建模资料 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 一、简介 – 关于异常…...

【Electron】使用electron-builder打包时下载electron失败或慢的解决方案

问题描述 electron-builder打包时报错信息如下&#xff1a; Building app with electron-builder:• electron-builder version22.14.5 os10.0.19042• description is missed in the package.json appPackageFileE:\h-world\hscmweb-diagrams\dist_electron\bundled\packa…...

stm32之16.外设定时器——TIM3

----------- 源码 void tim3_init(void) {NVIC_InitTypeDef NVIC_InitStructure;TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;//使能TIM3的硬件时钟RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);//配置TIM3的定时时间TIM_TimeBaseStructure.TIM_Period 10000-1…...

vue3自定义指令防止表单重复提交

可以设置在某个事件段内不允许重复提交&#xff1b;或者点击提交后设置提交flag&#xff0c;flag为true则不能再次提交 <template><div><h1>防止表单重复提交</h1><button click"submitForm" v-throttle>提交</button></di…...

无涯教程-Perl - wait函数

描述 该函数等待子进程终止,返回已故进程的进程ID。进程的退出状态包含在$?中。 语法 以下是此函数的简单语法- wait返回值 如果没有子进程,则此函数返回-1,否则将显示已故进程的进程ID Perl 中的 wait函数 - 无涯教程网无涯教程网提供描述该函数等待子进程终止,返回已故…...

DFMA是一种设计思想与方法论

DFMA&#xff08;Design for Manufacturing and Assembly&#xff09;是指在产品设计阶段&#xff0c;充分考虑来自于产品制造和装配的要求&#xff0c;使得机械工程师设计的产品具有很好的可制造性和可装配性&#xff0c;从根本上避免在产品开发后期出现的制造和装配质量问题。…...

黑客自学路线

谈起黑客&#xff0c;可能各位都会想到&#xff1a;盗号&#xff0c;其实不尽然&#xff1b;黑客是一群喜爱研究技术的群体&#xff0c;在黑客圈中&#xff0c;一般分为三大圈&#xff1a;娱乐圈 技术圈 职业圈。 娱乐圈&#xff1a;主要是初中生和高中生较多&#xff0c;玩网恋…...

怎么维护自己的电脑

文章目录 我的电脑日常维护措施维护技巧键盘&屏幕清洁清理磁盘空间控制温度 电脑换电池 无论是学习还是工作&#xff0c;电脑都是IT人必不可少的重要武器&#xff0c;一台好电脑除了自身配置要经得起考验&#xff0c;后期主人对它的维护也是决定它寿命的重要因素&#xff0…...

ansible(2)-- ansible常用模块

部署ansible&#xff1a;ansible&#xff08;1&#xff09;-- 部署ansible连接被控端_luo_guibin的博客-CSDN博客 目录 一、ansible常用模块 1.1 ping 1.2 command 1.3 raw 1.4 shell 1.5 script 1.6 copy 1.7 template 1.8 yum 11.0.1.13 主控端(ansible)11.0.1.12 被控端(k8s…...

一文了解Gin对Cookie的支持z

1. 引言 本文将从Web应用程序处理请求时需要用户信息&#xff0c;同时HTTP又是无状态协议这个矛盾点出发。从该问题出发&#xff0c;简单描述了解决该问题的Token 机制&#xff0c;进而引出Cookie的实现方案。 基于此我们将详细描述Cookie的规范&#xff0c;然后详细描述具体…...

android外卖点餐界面(期末作业)

效果展示&#xff1a; AndroidMainFest.xml <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"><a…...

ArcGIS API开发介绍

本来想自己总结写一下的&#xff0c;但是发现有个网站总结的特别好。所以直接给大家分享一下地址&#xff1a; 起步 - Start | ArcGis中文网 当然系统性的学习和使用还的看官网文档Quick Links | API Reference | ArcGIS Maps SDK for JavaScript 4.27 | ArcGIS Developers …...

大数据课程K5——Spark的框架核心概念

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解Spark的框架核心概念; ⚪ 掌握Spark的Spark集群模式安装; ⚪ 掌握Spark的Spark架构; ⚪ 掌握Spark的Spark调度模块; 一、Spark框架核心概念 1. RDD。弹性分布式数据集,是Spark最…...

【⑬MySQL | 数据类型(一)】简介 | 整数 | 浮点 | 定点类型

前言 ✨欢迎来到小K的MySQL专栏&#xff0c;本节将为大家带来MySQL数据类型简介 | 整数 | 浮点 | 定点类型的分享✨ 目录 前言0.数据类型简介1 整数类型2 浮点类型3 定点类型4 日期/时间类型总结 0.数据类型简介 数据类型&#xff08;data_type&#xff09;是指系统中所允许的…...

5.6 汇编语言:汇编高效数组寻址

数组和指针都是用来处理内存地址的操作&#xff0c;二者在C语言中可以互换使用。数组是相同数据类型的一组集合&#xff0c;这些数据在内存中是连续存储的&#xff0c;在C语言中可以定义一维、二维、甚至多维数组。多维数组在内存中也是连续存储的&#xff0c;只是数据的组织方…...

uniapp - 实现卡片式胶囊单选后右上角出现 “√“ 对勾对号选中效果功能,适用于小程序h5网页app全平台通用(一键复制组件源码,开箱即用!)

效果图 uniapp全平台兼容(小程序/h5网页/app)实现点击选择后,右上角出现 √ 对号效果(角标形式展现),功能组件, 改个样式,直接复制使用该组件。 组件源码 在 components 组件文件夹下,随便建立一个 .vue 文件,一键复制下方源码。...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统&#xff1a;Ubuntu 24.04 LTS (WSL2)架构&#xff1a;x86_64 (GNU/Linux)Rust 版本&#xff1a;rustc 1.87.0 (2025-05-09)Cargo 版本&#xff1a;cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下&#xff0c;限制某个 IP 的访问频率是非常重要的&#xff0c;可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案&#xff0c;使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

第7篇:中间件全链路监控与 SQL 性能分析实践

7.1 章节导读 在构建数据库中间件的过程中&#xff0c;可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中&#xff0c;必须做到&#xff1a; &#x1f50d; 追踪每一条 SQL 的生命周期&#xff08;从入口到数据库执行&#xff09;&#…...

「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案

在移动互联网营销竞争白热化的当下&#xff0c;推客小程序系统凭借其裂变传播、精准营销等特性&#xff0c;成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径&#xff0c;助力开发者打造具有市场竞争力的营销工具。​ 一、系统核心功能架构&…...

Spring Boot + MyBatis 集成支付宝支付流程

Spring Boot MyBatis 集成支付宝支付流程 核心流程 商户系统生成订单调用支付宝创建预支付订单用户跳转支付宝完成支付支付宝异步通知支付结果商户处理支付结果更新订单状态支付宝同步跳转回商户页面 代码实现示例&#xff08;电脑网站支付&#xff09; 1. 添加依赖 <!…...

从零开始了解数据采集(二十八)——制造业数字孪生

近年来&#xff0c;我国的工业领域正经历一场前所未有的数字化变革&#xff0c;从“双碳目标”到工业互联网平台的推广&#xff0c;国家政策和市场需求共同推动了制造业的升级。在这场变革中&#xff0c;数字孪生技术成为备受关注的关键工具&#xff0c;它不仅让企业“看见”设…...

[特殊字符] 手撸 Redis 互斥锁那些坑

&#x1f4d6; 手撸 Redis 互斥锁那些坑 最近搞业务遇到高并发下同一个 key 的互斥操作&#xff0c;想实现分布式环境下的互斥锁。于是私下顺手手撸了个基于 Redis 的简单互斥锁&#xff0c;也顺便跟 Redisson 的 RLock 机制对比了下&#xff0c;记录一波&#xff0c;别踩我踩过…...