我有一份关于 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>包含的更改。