我有一年前生成的补丁文件。 (进行代码更改的人已离开,所以我没有他的工作区与当前代码同步。我当时只有一个显示差异的补丁文件。)
我想将他的更改添加到最新的分支。为此,我将补丁文件应用到我的工作区,它显示一些文件是"补丁不适用"。原因是git无法找到插入其更改的正确位置。一年前,他的更改应插入文件的第X行和第X + 1行之间。但是现在,当git apply尝试这样做时,它发现X行和X + 1已经变成了某些行为。其他。 (因为在今年引入了其他代码)。
为了验证我的猜测,我手动删除了该文件的一些代码,以便第X行和第X + 1行与生成补丁时相同,这次git apply没有抱怨此文件。
我的问题是如何git应用旧补丁?
答案 0 :(得分:0)
两个选项:
但是,第二个选项中的“合并”步骤可能会让您回到第一个选项。
答案 1 :(得分:0)
执行:
git am -3 foo.patch
patch -p1 < foo.patch
手动修复任何冲突,然后删除.rej文件。
然后做:
git add fixed_conflicted_files
git am --continue