0. 前言

我们在合并patch的时候,希望将patch 作者的基本信息也一并合并,这样就需要git am命令,但是在git am 合并的时候会出现冲突,如何快速有效的解决呢?本文基于git am 命令提供两种方法。

1. 使用git am 命令尝试合并

​​​​​​​

2. git apply --reject合入不冲突部分,保留冲突部分

git apply --reject 0001-62412e5b8c33ee711aa20500cb1a9bb948c1f7d7.patch
Checking patch mm/page_alloc.c...
warning: mm/page_alloc.c has type 100755, expected 100644
error: while searching for:const struct alloc_context *ac)
{unsigned int noreclaim_flag;unsigned long pflags, progress;cond_resched();/* We now go into synchronous reclaim */cpuset_memory_pressure_bump();psi_memstall_enter(&pflags);fs_reclaim_acquire(gfp_mask);noreclaim_flag = memalloc_noreclaim_save();error: patch failed: mm/page_alloc.c:4476
Hunk #2 succeeded at 4254 (offset -236 lines).
Hunk #3 succeeded at 4267 (offset -236 lines).
Hunk #4 succeeded at 4289 (offset -236 lines).
Applying patch mm/page_alloc.c with 1 reject...
Rejected hunk #1.
Hunk #2 applied cleanly.
Hunk #3 applied cleanly.
Hunk #4 applied cleanly.

3. git status 查看apply 之后的状态

git apply --reject 0001-62412e5b8c33ee711aa20500cb1a9bb948c1f7d7.patch
Checking patch mm/page_alloc.c...
warning: mm/page_alloc.c has type 100755, expected 100644
error: while searching for:const struct alloc_context *ac)
{unsigned int noreclaim_flag;unsigned long pflags, progress;cond_resched();/* We now go into synchronous reclaim */cpuset_memory_pressure_bump();psi_memstall_enter(&pflags);fs_reclaim_acquire(gfp_mask);noreclaim_flag = memalloc_noreclaim_save();error: patch failed: mm/page_alloc.c:4476
Hunk #2 succeeded at 4254 (offset -236 lines).
Hunk #3 succeeded at 4267 (offset -236 lines).
Hunk #4 succeeded at 4289 (offset -236 lines).
Applying patch mm/page_alloc.c with 1 reject...
Rejected hunk #1.
Hunk #2 applied cleanly.
Hunk #3 applied cleanly.
Hunk #4 applied cleanly.
~/work/jr510_r_1.0_dev/android/kernel/jlq-5.4:
git status .
HEAD detached at f315c6d67d28
You are in the middle of an am session.(fix conflicts and then run "git am --continue")(use "git am --skip" to skip this patch)(use "git am --abort" to restore the original branch)Changes not staged for commit:(use "git add <file>..." to update what will be committed)(use "git checkout -- <file>..." to discard changes in working directory)modified:   mm/page_alloc.cUntracked files:(use "git add <file>..." to include in what will be committed)mm/page_alloc.c.rej

会在文件目录下产生一个 .rej 后缀的文件,里面就是无法自动合并的冲突,需要手动修改。

4. git am --continue 进行中断后的操作

  • 因为修改后的文件是modified 状态,需要git add 将其修改位added 状态,然后进行
  • git am --continue 进行之前中断后的操作。
  • 有可能需要Changed Id,git commit --amend 可以生成;
  • git log 查看是否已经添加成功;
  • git show 查看patch 是否是自己需要的;

5. 第二种方法

  • 对于修改起来比较简单的,可以手动修改之后产生一个修改的manual.patch;
  • 然后同样git am source.patch,这个时候会提示冲突;
  • 不要管上面这一步,直接git apply manual.patch,这个patch 肯定可以apply的;
  • git add -> git am --continue -> git commit --amend -> git push。。

git am冲突解决办法相关推荐

  1. git代码冲突解决办法

    一. 前言   作者是一个工作2年的Java程序猿,因为自己经常用到git,每天都需要提交代码,有时候合并代码也会有一些类代码冲突,把自己的解决方法告知出来,让大家有一定的参考. 二. 冲突产生的原因 ...

  2. git merge git pull时候遇到冲突解决办法git stash

    git merge git pull时候遇到冲突解决办法git stash 在使用git pull代码时,经常会碰到有冲突的情况,提示如下信息: error: Your local changes t ...

  3. git am 冲突解决技巧

    git am 冲突解决技巧 使用git am合patch的时候可能有冲突出现,这个时候,手动解决的办法是看看冲突在哪里, 然后手动的把那个patch和入.手动合入需要的时间太长. 我们可以用git a ...

  4. git am 冲突解决

    git am 冲突解决技巧 使用git am合patch的时候可能有冲突出现,这个时候,手动解决的办法是看看冲突在哪里, 然后手动的把那个patch和入.手动合入需要的时间太长. 我们可以用git a ...

  5. 哈希表及哈希冲突解决办法

    哈希表及哈希冲突解决办法 目录 什么是哈希表? 哈希表的数据结构 哈希冲突 哈希冲突解决办法 1. 什么是哈希表? 哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直 ...

  6. Hash——哈希法概念、哈希函数构造方法、哈希冲突解决办法(重点讨论链地址法)

    声明:本篇博客根据回顾老师上课知识和书籍<数据结构--用C语言描述>(耿国华)整理得出,仅作知识回顾学习用. 1.哈希法 哈希法又称散列法.杂凑法.关键字地址计算法.相对应的表称为哈希表. ...

  7. Visio2019与Win10输入法冲突解决办法

    Visio2019与Win10输入法冲突解决办法 Visio2019在Win10下使用时,经常出现输入法只能输入英文不能输入中文的情况.出现这种现象时,关闭Visio再次打开一般可以恢复正常输入一段时 ...

  8. SVN多用户开发 代码冲突解决办法

    [SVN多用户开发]代码冲突&解决办法 SVN是一款集中式的代码存储工具,可以帮助多个用户协同开发同一应用程序. 但是SVN不能完全代替人工操作,有时也需要程序员自己进行沟通确认有效的代码. ...

  9. IntelliJ IDEA 中 Ctrl+Alt+T 快捷键失效、无法弹出surround with、与qq热键冲突-解决办法

    本文转载 原文地址: idea Ctrl+Alt+T 快捷键失效.无法弹出surround with.与qq热键冲突-解决办法

最新文章

  1. easymailobjects php,用easymailobject组件处理exchange邮件源代码(6)_asp实例
  2. 职场疑问:如何进行技术面试
  3. 卷积神经网络中的各种池化操作
  4. python散点图如何设置外边框_如何绘制散点图的外围边框?
  5. java uuid静态方法_Java UUID compareTo()方法与示例
  6. Android课设电台论文,基于Android的超短波电台多媒体传输系统
  7. .net人员用Java 之Java EE
  8. P3368 【模板】树状数组 2
  9. phpstorm 新建拉取项目_Flink1.8实时数仓项目实战
  10. PHP 23种设计模式
  11. 有限元法(Finite Element Method,FEM)原理详解
  12. du和df命令的区别
  13. 经典之打印沙漏-数学分析-C/C++
  14. 专利缴费后如何获取发票
  15. 知云文献翻译软件及遇到的一些问题
  16. 2019CSP初赛基础知识整理
  17. 雷鸟电视卸载自带应用和开机广告+停用自动更新
  18. 【JokerのLabView】VI嵌套。
  19. Python | 编辑器推荐:Jupyter
  20. 电流反馈运算放大器介绍及RF(反馈电阻)的作用

热门文章

  1. 矩阵论 第二章 矩阵的分解
  2. 技术节系列 | 支付账务清结算系统设计
  3. 台式计算机电功率为多少,台式电脑功率一般是多少
  4. Python3 imap pop3、邮箱自动下载附件,分析邮件内容
  5. Substance designer 瓦片贴图制作
  6. 扫描的图片PDF转换为txt
  7. 计算机考评员培训,电子商务考评员培训ppt课件
  8. windows老漏洞远程破解管理员密码
  9. 基于QFT的量子加法器的原理与实现-mindspore quantum
  10. mootools的学习资源