git使用patch进行补丁操作

文章目录

  • 前言
  • 一、format-patch/am生成和应用补丁
    • 1、生成
    • 2、应用
  • 二、patch文件解读

前言

在软件开发中,代码协作和版本管理是至关重要的。Git 是一个流行的分布式版本控制系统,它提供了各种功能来简化团队合作和代码管理。但是如何给已有项目打补丁,如何在线上运行的项目做增量修改是运维以及开发者需要掌握的一个比较高级的git技术,本文将介绍如何使用 Git 的补丁功能进行高效的代码协作。

一、format-patch/am生成和应用补丁

1、生成

假设在一个分支(这里的分支是hzl_patch3)上进行了修改。这里在file1.py上新增了一段代码在这里插入图片描述
在这里插入图片描述
并且进行了提交
在这里插入图片描述
使用format-patch命令生成补丁文件
format-patch命令是对指定版本范围内每次commit的修改生成对应的patch文件
他的文档如下:

-n, --numbered        use [PATCH n/m] even with a single patch
-N, --no-numbered     use [PATCH] even with multiple patches
-s, --signoff         add Signed-off-by:
--stdout              指定输出位置,如所有patch输出到一个文件
--cover-letter        generate a cover letter
--numbered-files      文件名只有编号,不包含提交信息
--suffix <sfx>        指定patch文件名后缀,默认'.patch',比较常用的还有`.diff`
--start-number <n>    start numbering patches at <n> instead of 1
-v, --reroll-count <n> mark the series as Nth re-roll
--rfc                 Use [RFC PATCH] instead of [PATCH]
--cover-from-description <cover-from-description-mode> generate parts of a cover letter based on a branch's description
--subject-prefix <prefix> Use [<prefix>] instead of [PATCH]
-o, --output-directory <dir> 指定patch的存放目录
-k, --keep-subject    don't strip/add [PATCH]
--no-binary           don't output binary diffs
--zero-commit         output all-zero hash in From header
--ignore-if-in-upstream don't include a patch matching a commit upstream
-p, --no-stat         show patch format instead of default (patch + stat)

首先通过log 找到对应的cmmitID、。在这里插入图片描述
使用format-patch命令生成patch文件。在这里插入图片描述
把深沉出来的patch文件保存,或者发给别的工程师

2、应用

在在另一个分子上面进行am补丁应用
在这里插入图片描述
然后进行应用就可以看到修改的部分了在这里插入图片描述在这里插入图片描述

二、patch文件解读

我们来解读一下这个patch文件。其实是一个邮件文件。

From db5e68b55569ec3f224b34886239137d4be784a0 Mon Sep 17 00:00:00 2001
From: UPUPLiang <12822475+upupliang@user.noreply.gitee.com>
Date: Tue, 14 Nov 2023 19:09:10 +0800
Subject: [PATCH] fix bug6---file1.py | 1 +1 file changed, 1 insertion(+)diff --git a/file1.py b/file1.py
index f7f043b..e0a5ca7 100644
--- a/file1.py
+++ b/file1.py
@@ -5,3 +5,4 @@ print("fix bug3")print("fix bug3")print("fix bug4")print("fix bug5")
+print("fix bug6")
-- 
2.41.0.windows.1
  • From db5e68b55569ec3f224b34886239137d4be784a0 Mon Sep 17 00:00:00 2001: 这是 Patch 文件的头部信息,标识了该 Patch 的提交信息。
  • From: UPUPLiang <12822475+upupliang@user.noreply.gitee.com>: 这是提交者的信息,包括提交者的名称和邮箱地址。
  • Date: Tue, 14 Nov 2023 19:09:10 +0800: 这是提交的日期和时间。
  • Subject: [PATCH] fix bug6: 这是提交的主题,表示这个 Patch 是为了修复 bug6。
  • --- a/file1.py: 这表示下面的行是原始文件 file1.py 的内容。
  • +++ b/file1.py: 这表示下面的行是经过更改后的文件 file1.py 的内容。
  • @@ -5,3 +5,4 @@: 这是一个上下文行,表示下面的更改发生在原始文件的第 5 行到第 8 行之间。
  • print("fix bug6"): 这是具体的更改部分,表示在第 8 行插入了一行代码 print("fix bug6")

综上所述,这个 Patch 文件表示对 file1.py 文件进行了一处更改,在第 8 行插入了代码 print("fix bug6"),用于修复 bug6。

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

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

相关文章

Kafka学习笔记(三)

目录 第5章 Kafka监控&#xff08;Kafka Eagle&#xff09;5.2 修改kafka启动命令5.2 上传压缩包5.3 解压到本地5.4 进入刚才解压的目录5.5 将kafka-eagle-web-1.3.7-bin.tar.gz解压至/opt/module5.6 修改名称5.7 给启动文件执行权限5.8 修改配置文件5.9 添加环境变量5.10 启动…

【uniapp】Google Maps

话不多说 直接上干货 提前申请谷歌地图账号一、新建地图 使用h5获取当前定位或者使用三方uniapp插件 var coords ""navigator.geolocation.getCurrentPosition(function(position) {coords {lat: position.coords.latitude,lng: position.coords.longitude};lats …

Objectarx 使用libcurl请求WebApi

因为开发cad需要请求服务器的数据&#xff0c;再次之前我在服务器搭设了webapi用户传递数据&#xff0c;所以安装了libcurl在objectarx中使用数据。 Open VS2012 x64 Native Tools Command Prompt补充地址&#xff1a; 我在此将相关的引用配置图片&#xff0c;cad里面的应用和…

EtherCAT 伺服控制功能块实现

EtherCAT 是运动控制领域主要的通信协议&#xff0c;开源EtherCAT 主站协议栈 IgH 和SOEM 两个项目&#xff0c;IgH 相对更普及一些&#xff0c;但是它是基于Linux 内核的方式&#xff0c;比SOEM更复杂一些。使用IgH 协议栈编写一个应用程序&#xff0c;控制EtherCAT 伺服电机驱…

酷柚易汛ERP - 权限设置操作指南

1、产品介绍 对系统的同事管理、角色管理、数据授权进行设置 1.1 同事管理 对当前系统添加同事账号&#xff0c;超级管理员不允许删除 1.2 角色管理 对当前系统添加角色&#xff0c;系统中可以设置多种角色&#xff0c;不同角色设置不同权限&#xff0c;方便添加同事时进行…

代码随想录算法训练营第五十八天丨 动态规划part18

739. 每日温度 思路 首先想到的当然是暴力解法&#xff0c;两层for循环&#xff0c;把至少需要等待的天数就搜出来了。时间复杂度是O(n^2) 那么接下来在来看看使用单调栈的解法。 什么时候用单调栈呢&#xff1f; 通常是一维数组&#xff0c;要寻找任一个元素的右边或者左边…

机器视觉选型-什么时候用远心镜头

物体厚 当被检测物体厚度较大&#xff0c;需要检测不止一个平面时&#xff0c;典型应用如食品盒&#xff0c;饮料瓶等。 物体位置变化 当被测物体的摆放位置不确定&#xff0c;可能跟镜头成一定角度时。 物体上下跳动 当被测物体在被检测过程中上下跳动&#xff0c;如生产线上下…

人工智能基础_机器学习040_Sigmoid函数详解_单位阶跃函数与对数几率函数_伯努利分布---人工智能工作笔记0080

然后我们再来详细说一下Sigmoid函数,上面的函数的公式 我们要知道这里的,Sigmoid函数的意义,这逻辑斯蒂回归的意义就是,在多元线性回归的基础上,把 多元线性回归的结果,缩放到0到1之间对吧,根据中间的0.5为分类,小于0.5的一类,大于的一类, 这里的h theta(x) 就是概率函数 然…

婴儿沐浴座椅上架亚马逊美国站安全标准要求ASTM F1967-19测试,CPC认证

亚马逊婴儿沐浴座椅产品认证 在亚马逊上架的婴儿沐浴座椅产品&#xff0c;亚马逊会要求店家上传相关的产品测试报告&#xff0c;若被抽查到没有相关认证的产品将面临产品被下架或罚款等处罚&#xff01; 婴儿沐浴座椅产品示例&#xff1a; 婴儿沐浴座椅是一种用于浴缸、盥洗盆…

微软宣布计划在 Windows 10 版本 22H2 中引入 AI 助手 Copilot

根据之前的传言&#xff0c;微软宣布计划在 Windows 10 版本 22H2 中引入 AI 助手 Copilot。Copilot 将包含在 Windows 10 家庭版和专业版中。该更新的发布日期尚未公布&#xff0c;但预计将在不久的将来发布。 在一份新闻稿中&#xff0c;微软表示在向 Windows 11 用户提供 Co…

什么是模糊测试?

背景&#xff1a;近年来&#xff0c;随着信息技术的发展&#xff0c;各种新型自动化测试技术如雨后春笋般出现。其中&#xff0c;模糊测试&#xff08;fuzz testing&#xff09;技术开始受到行业关注&#xff0c;它尤其适用于发现未知的、隐蔽性较强的底层缺陷。这里&#xff0…

C语言--给定一行字符串,获取其中最长单词【图文详解】

一.问题描述 给定一行字符串,获取其中最长单词。 比如&#xff1a;给定一行字符串&#xff1a; hello wo shi xiao xiao su 输出&#xff1a;hello 二.题目分析 “打擂台算法”&#xff0c;具体内容小伙伴们可以参考前面的内容。 三.代码实现 char* MaxWord(const char* str)…

【科技素养】蓝桥杯STEMA 科技素养组模拟练习试卷F

1、常见的加密算法可以分为对称加密算法和非对称加密算法&#xff0c;以下关于它们的描述正确的是 A、AES是一种常见的非对称加密算法 B、凯撒密码是一种非对称加密 C、非对称加密算法的解密使用的秘钥与加密不同 D、对称加密算法无法被暴力破解 答案&#xff1a;C 2、12根…

Apache DolphinScheduler在通信行业的多集群统一建设与管理实践

背景介绍 为什么我们考虑构建统一的调度平台&#xff1f; 主要原因是&#xff1a;我们公司的大数据中心目前拥有七个大数据集群&#xff0c;这些集群分布在不同的机房&#xff0c;例如内蒙、南京、苏州和广州。而且&#xff0c;这些机房之间的网络并不互通。如果每个集群都独立…

Pytorch多GPU并行训练: DistributedDataParallel

1 模型并行化训练 1.1 为什么要并行训练 在训练大型数据集或者很大的模型时一块GPU很难放下&#xff0c;例如最初的AlexNet就是在两块GPU上计算的。并行计算一般采取两个策略&#xff1a;一个是模型并行&#xff0c;一个是数据并行。左图中是将模型的不同部分放在不同GPU上进…

[开源]基于 AI 大语言模型 API 实现的 AI 助手全套开源解决方案

原文&#xff1a;[开源]基于 AI 大语言模型 API 实现的 AI 助手全套开源解决方案 一飞开源&#xff0c;介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术&#xff0c;一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区&#xff0…

pytorch文本分类(一):文本预处理

pytorch文本分类&#xff08;一&#xff09;&#xff1a;文本预处理 本文为自己在鲸训练营答题总结&#xff0c;作业练习都在和鲸社区数据分析协作平台 ModelWhale 上。 &#x1f6a9;学习任务原链接在这里 相关数据链接&#xff1a;https://pan.baidu.com/s/1iwE3LdRv3uAkGGI…

基础课6——开放领域对话系统架构

开放领域对话系统是指针对非特定领域或行业的对话系统&#xff0c;它可以与用户进行自由的对话&#xff0c;不受特定领域或行业的知识和规则的限制。开放领域对话系统需要具备更广泛的语言理解和生成能力&#xff0c;以便与用户进行自然、流畅的对话。 与垂直领域对话系统相比…

2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-C卷

2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-C卷 2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-C卷A模块基础设施设置/安全加固&#xff08;200分&#xff09;A-1&#xff1a;登录安全加固&#xff08;Windows, Linux&#xff09;A-2&#…

Flutter笔记:桌面端应用多窗口管理方案

Flutter笔记 桌面端应用多窗口管理方案 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/134468587 【简介…