快速解决git am冲突

前言

当希望通过git am xxxx.patch,添加一些代码修改,如果代码版本相差较大,就可能产生冲突。
这种必须要我们手动修改冲突内容。

解决过程

1. git am 尝试打入patch补丁

git am 0004-patch.patch

在这里插入图片描述

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

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

git apply --reject 0004-patch.patch

在这里插入图片描述

3. git status查看冲突文件

git status

在这里插入图片描述

在这里插入图片描述

4. 解决冲突

打开xxx.rej文件,例如这里的virtio-gpu.h.rej
其中包含了冲突内容,进入到对应的源码文件中,将冲突部分手动改进去就可以了。
改完后,将对应的.rej文件删除掉。
在这里插入图片描述
在这里插入图片描述

# 查看
git status

在这里插入图片描述

5. git add xxx

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

git add include/hw/virtio/virtio-gpu.h

6. git am --resolved

git  am  --resolved

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

如下图所示,applying:xxx,表示成功将该patch完整的加入到了项目代码中
在这里插入图片描述


参考文章

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值