快速解决git am冲突

前言

当希望通过git am xxxx.patch,添加一些代码修改,如果代码版本相差较大,就可能产生冲突。

这种必须要我们手动修改冲突内容。

解决过程

1. git am 尝试打入patch补丁

bash 复制代码
git am 0004-patch.patch

2. git apply --reject生成冲突文件

执行此命令,将自动合入 patch 中不冲突的代码改动,同时保留冲突的部分。这些存在冲突的改动内容会被单独存储到目标源文件的相应目录下,以后缀为 .rej 的文件进行保存。

bash 复制代码
git apply --reject 0004-patch.patch

3. git status查看冲突文件

bash 复制代码
git status

4. 解决冲突

打开xxx.rej文件,例如这里的virtio-gpu.h.rej

其中包含了冲突内容,进入到对应的源码文件中,将冲突部分手动改进去就可以了。
改完后,将对应的.rej文件删除掉。

bash 复制代码
# 查看
git status

5. git add xxx

将解决的冲突修改,添加到暂存区

bash 复制代码
git add include/hw/virtio/virtio-gpu.h

6. git am --resolved

bash 复制代码
git  am  --resolved

继续完成,1中被中断的 patch 合入操作。

如下图所示,applying:xxx,表示成功将该patch完整的加入到了项目代码中


参考文章

1. 定位和解决git am冲突的方法

相关推荐
东方欲晓w2 分钟前
Git高效开发:常用命令速查指南
git·stm32·学习
_Power_Y3 分钟前
Linux&git入门&设计模式(常考点)
linux·git·设计模式
刘永鑫Adam2 小时前
代码管理及Linux模拟工具Git for Windows安装使用教程
linux·运维·服务器·git
moringlightyn16 小时前
进度条+ 基础开发工具----版本控制器git 调试器gdb/cgdb
笔记·git·其他·c·调试器·gdb/cgdb·进度条 倒计时
自由日记17 小时前
入门git:部署到公网
git
QT 小鲜肉18 小时前
【Git、GitHub、Gitee】按功能分类汇总Git常用命令详解(超详细)
c语言·网络·c++·git·qt·gitee·github
wukan88819 小时前
【SMTP】在线配置测试工具,如何配置接口?
git·网络协议·编辑器
winner888119 小时前
Git 开发全流程规范:分支创建+关联远程+rebase同步+分支清理实战
git·rebase·git rebase·git branch -d
百锦再1 天前
第10章 错误处理
java·git·ai·rust·go·错误·pathon
静心观复2 天前
git revert 2
git