git am PATCH 失败的处理方法

2023-05-16

参考:http://www.cnblogs.com/domainfei/articles/2433504.html

http://blog.sina.com.cn/s/blog_5372b1a301015y0n.html

英文原文地址:http://www.pizzhacks.com/bugdrome/2011/10/deal-with-git-am-failures/


比如,一个典型的git am失败,可能是这样的:
$ git am PATCH
Applying: PACTH DESCRIPTION
error: patch failed: file.c:137
error: file.c: patch does not apply
error: patch failed: Makefile:24
error: libavfilter/Makefile: patch does not apply
Patch failed at 0001 PATCH DESCRIPTION
When you have resolved this problem run "git am --resolved".
If you would prefer to skip this patch, instead run "git am --skip".
To restore the original branch and stop patching run "git am --abort".
正如你所见,如果冲突发生,git只是输出上述信息,然后就停下来。一个小冲突会导致整个patch都不会被集成。
处理这种问题的最简单方法是先使用 git am --abort,然后手动的添加此patch, patch -p1 < PATCH,手动解决掉代码冲突,最后使用 git commit -a 提交代码。但是这样做有个问题就是你会失去PATCH中原本包含的commit信息(比如From,Date,Subject,Signed-off-by等)。应该有一种更聪明的方法。
在 .git/rebase-apply 目录下,存放着相应的补丁文件,名字是“0001” (在更新的git版本中,存放补丁文件的目录名有所改变,这里使用的git版本是 1.7.4.1)。
事实上,你可以使用 git apply 命令打patch(git apply 是git中的patch命令)。如同使用 patch -p1 命令时一样,然后手动解决代码冲突(检视生成的 .rej 文件,与冲突文件比较,修改冲突内容,并最终把文件加入到index中):
$ git apply PATCH --reject
$ edit edit edit
(译注:根据.rej文件手动解决所有冲突)
$ git add FIXED_FILES
$ git am --resolved
就这么简单!
想多一些解释,好吧。git am 并不改变index,你需要使用 git apply --reject 打patch(保存在 .git/rebase-apply),手动解决代码冲突,(译注:使用 git status 列出所有涉及文件),把所有文件(不仅仅是引起冲突的文件)添加到(git add)index,最后告诉 git am 你已经解决(--resolved)了问题。这样做的好处是你不需要重新编辑commit信息。而且,如果你正在打的是一系列patch(就是说你在打的是多个patch,比如 git am *.patch)你不需要使用 git am --abort,然后又 git am。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

git am PATCH 失败的处理方法 的相关文章

  • svn使用的适用技巧

    关于SVN的使用 xff0c 这里整理两个重要的问题 xff1a 1 svn不能commit so 2 34 a 34 等库文件 xff1a svn add 还是 svn st 均查看不到想要提交的 so 文件 后来才知道原来是配置文件出了
  • calico更换ip地址池-k8s

    注意 xff1a 生产环境更换ip地址池会导致网络中断 xff0c 请慎重 在Kubernetes中 xff0c 以下所有三个参数必须等于或包含Calico IP池CIDR xff1a kube apiserver xff1a pod ne
  • Centos 7安装GNOME桌面环境

    第一步 xff1a 列出可安装的桌面环境 span class token punctuation span root 64 local span class token punctuation span span class token
  • Linux anaconda3 安装python版zeroc-ice 3.7.3报 undefined symbol: SSLeay

    原因 xff1a linux通过 pip install zeroc ice 61 61 3 7 3时会从源文件重新编译一个二进制版本 xff0c windows与macos不会重新编译 编译过程依赖openssl 但是centos7版本的
  • npm install提示没有权限

    npm install unsafe perm 61 true allow root
  • mysql排序后分页出现的数据混乱

    原因 xff1a 排序的字段值不唯一 xff0c 值相同时排序顺序不固定 解决方法 xff1a 增加排序字段改用值唯一的字段排序
  • Ubuntu安装mysql,修改数据存储目录

    1 创建目录并修改目录权限 mkdir home abc data chown R mysql mysql home abc data 2 修改mysql配置文件 etc mysql my cnf xff0c 增加以下配置 mysqld d
  • 获取CAS全部配置说明

    直接下载 xff1a CAS Server全部配置详解 通过cas bootadmin获取 通过CAS Initializr获取模块cas bootadmin server overlay curl http localhost 8080
  • SpringBoot配置SSL(https)

    生成证书 keytool genkey alias cas keyalg RSA validity 999 keysize 2048 storetype PKCS12 keypass aaaaaa storepass aaaaaa keys
  • 2018年秋招面经

    Data 2017 10 30 Author cjh 一不小心秋招都结束了 xff0c 趁还有些印象 xff0c 留下点东西造福大众 秋招一般聚集在9月初到10月底 xff0c 大公司快的有些8月中旬就开始了 xff0c 所以大家要把握时间
  • CAS Client部署

    参考内容 官方参考文档 xff1a Java Cas Client Cas Server部署参考 CAS Server部署 xff0c 基于版本6 6 4 修改配置 添加依赖 lt dependency gt lt groupId gt o
  • Python机器学习:train_test_split()划分数据集

    调用sklearn里面的model selection包的train test split 函数可以一行代码划分好数据集 包名 xff1a from sklearn model selection import train test spl
  • 安装Python3.8.10和ssh连接

    xff01 xff01 xff01 xff01 制作镜像之前防火墙要关掉 xff08 必须要关的 xff09 systemctl stop ufw span class token punctuation span service syst
  • WebSSH安装和开机自启设置

    一 安装 apt install nfs span class token punctuation span common WebSSH 要求 Python2 7 或 3 4 43 如果有 Python 环境 xff0c 可以使用 pip
  • novnc安装和开机自启设置

    一 安装和使用novnc 1 下载noNVC span class token function git span clone https github com novnc noVNC git 2 创建安装连接 VNC的默认会话不是安全的
  • vnc安装和开机自启设置

    一 安装VNC 键入以下命令以在 Ubuntu 服务器上安装 TigerVNC xff1a sudo apt install tigervnc standalone server tigervnc common 现在安装了 VNC 服务器
  • 研究生如何发表论文必读

    研究生如何发表论文必读 这是一个一年三篇IF大于7的牛人当我问到他怎么这么强的时候 xff0c 他给我他在网上总结发文章的秘笈 看了实在是心中有一种感觉 xff0c 特奉献出来 一 研究生必备四本 俗话说好记性不如烂笔头 xff0c 所以一
  • Debian Linux进入不了图形界面的折腾

    首先我的操作系统是Debian Linux xff0c 我Debian用的是Xfce桌面环境 xff0c 昨天我用了命令apt get install gnome 安装了一堆软件之后重启 xff0c 就进入不了图形界面了 xff0c 只能进
  • ROS与matlab进行通讯—保姆级教程

    话不多说 xff0c 直接来进行配置 xff1a 所用软件 xff1a windows10下matlab2018b和同一台 电脑上虚拟机 virtubalbox上的Ubuntu melodic 18 04版本 第一步 xff1a 将虚拟机网
  • stm32蜂鸣器实验

    硬件连接 xff1a 提示 xff1a 不能通过IO口直接驱动大功率器件 实验步骤 xff1a 使能IO口时钟 调用RCC APB2PeriphColckCmd 初始化IO口模式 调用函数BEEP Init 操作IO口 xff0c 输出高低

随机推荐

  • samba源码安装

    Data 2017 11 30 Author cjh Theme samba源码安装 最近在玩TI的AM5728开发板 xff0c 采用交叉编译 xff0c 在使用nfs挂在确实有些不习惯 xff0c 所以最后还是忍不住在上面安装了samb
  • vscode使用

    VScode自动调整格式 Shift 43 Alt 43 F 简书 jianshu com vscode 设置 tab 为四个空格 abbcccdde的博客 CSDN博客 vscode设置tab为4个空格 生产力 VSCode必备插件 C
  • Ubuntu使用apt-get安装本地deb包

    Ubuntu使用apt get安装本地deb包 milantgh 博客园
  • 随遇而安也是一种选择

    随遇而安也是一种选择 故事的开头都是相似的 xff0c 故事的结尾各有各的传奇 xff0c 各有各的平凡 题记 高中的岁月总是让人难忘的 xff0c 菁菁岁月中的庆阳一中 xff0c 充满了书生意气的神采飞扬 xff0c 恩师与同窗 xff
  • OFDPA软件概述

    OFDPA软件概述 OF DPA xff08 openflow data plane abstraction xff09 是一个应用软件组件 实现了 openflow与broadcom SDK间适配层的功能 OF DPA在broadcom交
  • freertos和ucos的区别

    一 freeRTOS比uCOS II优胜的地方 xff1a 1 内核ROM和耗费RAM都比uCOS 小 xff0c 特别是RAM 这在单片机里面是稀缺资源 xff0c uCOS至少要5K以上 xff0c 而freeOS用2 3K也可以跑的很
  • wget和curl中使用代理

    命令使用代理 wget curl 都支持使用代理 wget e http proxy 61 10 1 4 43 8080 proxy mimvp com curl x 10 1 4 43 8080 proxy mimvp com 环境变量使
  • SQL 触发器与WebApi回执

    1 需求数据库表添加 xff0c 修改 xff0c 删除数据 xff0c 触发器生效 xff0c 推送数据数据到WCF接口 a 创建WCF服务 xff0c 发布服务 b 启用数据库CLR功能 xff0c 默认是关闭状态 EXEC sp co
  • inelliJ IDEA注册码

    http idea lanyus com
  • 正则表达式之?、(?:pattern)、(?!pattern)、(?=pattern)理解及应用

    今天朋友问我一个问题 xff0c 是这样子的 xff0c 通过正则表达式匹配html标签input包含hidden的字符串 xff0c 具体如下 xff1a 34 lt input type 61 34 hidden 34 id 61 34
  • cmake源码安装

    Data 2017 12 1 Author cjh Theme cmake源码安装 在玩TI AM5728时 xff0c 要用到cmake编译程序 xff0c 无奈开发板又不能用apt get只好自己源码安装了 cmake源码下载 解压源码
  • Ubuntu下逻辑坏道解决方案

    一 逻辑坏道修复方法 逻辑坏道 服务器硬盘相比其他部件是较容易坏的 xff0c 如突然断电 大量频繁写入都会加速硬盘的老化 xff0c 下面介绍一些判断硬盘状况和修复的方法 发现硬盘坏道 dmesg 当有硬盘坏道时 xff0c 通常在dme
  • 解决本地无法ssh连接ubuntu虚拟机

    1 保证双方都能互相ping通 本地 Windows 查看ip xff1a ipconfig ubuntu虚拟机查看ip span class token function ifconfig span 2 保证ubuntu虚拟机安装了ssh
  • 70、在js中为什么0.1+0.2不等于0.3

    并不是所有小数都可以用 完整 的二进制来表示的 xff0c 比如十进制 0 1 在转换成二进制小数的时候 xff0c 是一串无限循环的二进制数 xff0c 计算机是无法表达无限循环的二进制数的 xff0c 毕竟计算机的资源是有限 因此 xf
  • Outlook 2013/2016 显示“正在启动...“ 无法进入Outlook的解决方案

    因上次非正常关闭 xff0c 导致Outlook 2016启动时 xff0c 一直处于启动界面 xff0c 无法进入主界面正常工作 刚开始Outlook 2016启动界面显示的是 34 正在处理 34 查询网上各种方法 xff0c 安全启动
  • H265 CTU、CU、PU、TU划分的特点及要求

    目录 H265 CTU CU PU TU划分的特点及要求大小及划分模式常见问题1 Spec里对于CTU大小的规定在哪 xff1f 2 Spec对于TU大小的规定在哪 xff1f 3 Spec里对于M 2 M 2的划分方式的规定在哪里 xff
  • Oracle VM VirtualBox虚拟机使用问题总结

    我本机的配置是Ubuntu 18 04 43 Oracle VM VirtualBox虚拟机 6 1 12 43 虚拟win7操作系统 xff0c 对虚拟机了解甚少 xff0c 以下仅为一些实践中的经验 xff1a 一 升级后屏幕分辨率问题
  • C语言中string函数详解

    PS xff1a 本文包含了大部分strings函数的说明 xff0c 并附带举例说明 本来想自己整理一下的 xff0c 发现已经有前辈整理过了 xff0c 就转了过来 修改了原文一些源码的问题 xff0c 主要是用char 字义字符串的问
  • MP3的帧结构

    原文地址 xff1a http www eefocus com jjbearustc blog 07 09 3716 3e901 html MP3帧包括以下4个部分 xff1a 1 帧头 xff1a 比特流中包含同步和状态信息的部分 2 错
  • git am PATCH 失败的处理方法

    参考 xff1a http www cnblogs com domainfei articles 2433504 html http blog sina com cn s blog 5372b1a301015y0n html 英文原文地址