Cherry 在评论 Gerrit 中挑选补丁列表

Sto*_*ogy 3 gerrit

我有一份关于 Gerrit 的待审核补丁列表(31 个补丁相互跟随),并且想知道如何在我的本地 git 上一次拉取它们。

我知道可以通过图形界面下载补丁:

Checkout: git fetch <url> refs/changes/78/141978/9 && git checkout FETCH_HEAD
Cherry Pick: git fetch <url> refs/changes/78/141978/9 && git cherry-pick FETCH_HEAD
Format Patch: git fetch <url> refs/changes/78/141978/9 && git format-patch -1 --stdout FETCH_HEAD
Pull git pull <url> refs/changes/78/141978/9
Patch-File 376aeb6.diff.base64  |   376aeb6.diff.zip
Archive tgz | tar | tbz2 | txz
Run Code Online (Sandbox Code Playgroud)

我通常使用以下命令获取补丁并挑选它:

git fetch <url> refs/changes/78/141978/9 && git cherry-pick FETCH_HEAD
Run Code Online (Sandbox Code Playgroud)

但我不想为我需要的所有补丁都这样做。

小智 5

您可以使用 git cherry-pick 来获取一系列连续补丁。

git fetch <url> refs/changes/78/141978/9 
git cherry-pick <first-patch-sha>^..<last-patch-sha>
Run Code Online (Sandbox Code Playgroud)

fetch 命令将从远程存储库下载补丁,而cherry-pick 命令将应用从<first-patch-sha>包含到<last-patch-sha>包含的更改。