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

相关推荐
Patrick_Wilson17 分钟前
为什么gitlab的MR会默认有一个merge commit
前端·git·gitlab
是乐乐啊呀1 小时前
版本控制 GIT 和 SVN
git·svn
夜鸣笙笙4 小时前
Git详细安装流程
git
瑞码空间17 小时前
git知识点黄金笔记
笔记·git·elasticsearch
----云烟----17 小时前
Git 提交忽略某些文件方法
git
切糕师学AI20 小时前
如何查看已合并到 master 分支的所有分支?Git 分支清理指南
大数据·git·elasticsearch
DevUp1 天前
一个管「引」,一个管「抄」:Submodule 和 Subtree 到底差在哪
git·前端工程化
lingran__1 天前
Git 完全指南(三):远程仓库与标签管理
开发语言·git·gitee·ssh·团队协作·远程仓库·分布式版本控制
lingran__2 天前
Git 完全指南(二):分支管理
git·分支管理·版本控制·团队协作·多人开发·git flow
必须会一定会2 天前
Agent Handoff v0.6.0 跨电脑同步:Git、EVENTS.jsonl、CONTEXT.md 使用方法
人工智能·git·ai编程