你如何应用从gerrit下载的补丁文件?

How do you apply patch file downloaded from gerrit?

在 Gerrit 中,在更改的下载部分下,有一个部分允许您下载补丁文件:

使用 git apply 结果:

$ git apply 441eb56b.diff.base64
fatal: unrecognized input

我使用什么命令来应用这个补丁?

这是一个 base64 编码文件(参见 here). You need to decode the file first (see here)。我觉得改用 Cherry Pick 方法更容易。

以下是可能的解决方案。

  1. 只需复制并粘贴Cherry Pick的命令即可。

  2. 只需复制并粘贴Checkout的命令,然后运行 git format-patch -1创建可以在git am或[中使用的补丁=14=]。你也可以运行 git diff HEAD^..HEAD > xxx.patch生成补丁,可以在git apply.

    中使用
  3. 下载diff.zip,解压,git apply

  4. 下载diff.base64,解码,git apply它。

  5. 运行 CheckoutCherry Pick 命令中的 git fetch 部分,使用 git merge,git rebase,git cherry-pick 或任何可以操纵提交以应用您需要的补丁的命令。

  6. 如果要将补丁应用于 Gerrit 中可以找到的另一个分支,请使用 cherry-pick 按钮进行操作。

base64 --decode c6a9dcdb.diff.base64 > c6a9dcdb.diff
git apply c6a9dcdb.diff

(将 c6a9dcdb 替换为 Gerrit 给您的任何缩写提交哈希。)