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

时间:2016-06-10 22:57:43

标签: git gerrit

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

enter image description here

使用git apply会导致:

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

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

3 个答案:

答案 0 :(得分:11)

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

(用Gerrit给你的任何缩写提交替换c6a9dcdb。)

答案 1 :(得分:6)

这是base64编码文件(参见here)。您需要先解码文件(请参阅here)。我认为使用Cherry Pick方法更容易。

答案 2 :(得分:3)

以下是可能的解决方案。

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

  2. 只需复制并粘贴Checkout的命令,然后运行git format-patch -1即可创建可在git amgit apply中使用的修补程序。您也可以运行git diff HEAD^..HEAD > xxx.patch生成补丁,可以在git apply中使用。

  3. 下载diff.zip,解压缩,git apply

  4. 下载diff.base64,对其进行解码,git apply

  5. git fetchCheckout命令中运行Cherry Pick部分,使用git mergegit rebasegit cherry-pick或任何命令可以操作提交以应用您需要的补丁。

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