Git 如何应用从gerrit下载的修补程序文件?
在Gerrit中的“下载”部分下,有一个部分允许您下载修补程序文件: 使用Git 如何应用从gerrit下载的修补程序文件?,git,gerrit,Git,Gerrit,在Gerrit中的“下载”部分下,有一个部分允许您下载修补程序文件: 使用git apply会导致: $ git apply 441eb56b.diff.base64 fatal: unrecognized input 我使用什么命令应用此修补程序?这是一个base64编码文件(请参阅)。您需要先对文件进行解码(请参阅)。我认为使用樱桃选择法更容易。以下是可能的解决方案 只需复制并粘贴Cherry Pick的命令即可 只需复制并粘贴Checkout的命令,然后运行git format pat
git apply
会导致:
$ git apply 441eb56b.diff.base64
fatal: unrecognized input
我使用什么命令应用此修补程序?这是一个base64编码文件(请参阅)。您需要先对文件进行解码(请参阅)。我认为使用樱桃选择法更容易。以下是可能的解决方案
Cherry Pick
的命令即可Checkout
的命令,然后运行git format patch-1
即可创建可在git am
或git apply
中使用的补丁。您还可以运行git diff HEAD^..HEAD>xxx.patch
生成补丁,该补丁可在git apply
中使用git-apply
itgit apply
Checkout
或Cherry-Pick
命令中的git-fetch
部分,使用git-merge
、git-rebase
、git-Cherry-Pick
或任何可以操纵提交以应用所需修补程序的命令cherry pick
按钮执行此操作(用Gerrit给你的任何缩写commit hash替换c6a9dcdb。)是的,我最终选择了cherry。但是补丁数据非常有趣。当然,您可以将base64解码结果通过管道传输到
git apply
。但无论如何,下载补丁的功能似乎主要是为那些没有签出git repo可用性的人提供的,在这种情况下,选择cherry pick当然更容易。看见我错过的是一个补丁下载,它实际上只下载了补丁集之间的差异,这样一个樱桃选择就不会干扰我对同一补丁集的更改。
base64 --decode c6a9dcdb.diff.base64 > c6a9dcdb.diff
git apply c6a9dcdb.diff