快速解决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冲突的方法

相关推荐
Alkaid:1 天前
GIT常用命令
大数据·git
我命由我123451 天前
Android Studio - 在 Android Studio 中直观查看 Git 代码的更改
android·java·开发语言·git·java-ee·android studio·android jetpack
无证驾驶梁嗖嗖1 天前
git_lab_事故恢复全过程(ubuntu_22
linux·git·ubuntu
何中应1 天前
CentOS7安装Git
运维·git·centos·开发工具
微尘hjx1 天前
【GitHub 代码仓 02】git命令操作示例
git·elasticsearch·github
阿正的梦工坊1 天前
Git提交中的perf和chore是什么?
git
Fly feng1 天前
git rebase 变基操作教程
git
laoliu19961 天前
开源 FRP GUI 客户端
git·开源·github
YanaDH2 天前
前端开发新机环境部署(带链接)
git·vscode·npm·node.js
微尘hjx2 天前
【GitHub 代码仓 03】Git + GitHub 实战速查手册
git·github