Cherry 在审查 Gerrit 中挑选了一个补丁列表
Cherry pick a list of patch in review 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
我通常使用以下命令获取补丁并挑选它:
git fetch <url> refs/changes/78/141978/9 && git cherry-pick FETCH_HEAD
但我不想为我需要的所有补丁都这样做。
您可以使用 git cherry-pick 来获得一系列连续的补丁。
git fetch <url> refs/changes/78/141978/9
git cherry-pick <first-patch-sha>^..<last-patch-sha>
fetch 命令将从远程存储库下载补丁,cherry-pick 命令将应用从 <first-patch-sha>
包含到 <last-patch-sha>
包含的更改。
您可以使用 REST api 和 Bash 脚本:
changes=$(curl -s --request GET --user USER:PASS "https://GERRIT-SERVER/a/changes/?q=owner:self+AND+status:open&o=CURRENT_REVISION" | sed 1d | jq --raw-output ".[].revisions[].ref")
for c in $changes
do
echo ""
echo $c
echo ""
git fetch URL $c && git cherry-pick FETCH_HEAD
done
有关 Gerrit 文档的更多信息 here。
我在 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
我通常使用以下命令获取补丁并挑选它:
git fetch <url> refs/changes/78/141978/9 && git cherry-pick FETCH_HEAD
但我不想为我需要的所有补丁都这样做。
您可以使用 git cherry-pick 来获得一系列连续的补丁。
git fetch <url> refs/changes/78/141978/9
git cherry-pick <first-patch-sha>^..<last-patch-sha>
fetch 命令将从远程存储库下载补丁,cherry-pick 命令将应用从 <first-patch-sha>
包含到 <last-patch-sha>
包含的更改。
您可以使用 REST api 和 Bash 脚本:
changes=$(curl -s --request GET --user USER:PASS "https://GERRIT-SERVER/a/changes/?q=owner:self+AND+status:open&o=CURRENT_REVISION" | sed 1d | jq --raw-output ".[].revisions[].ref")
for c in $changes
do
echo ""
echo $c
echo ""
git fetch URL $c && git cherry-pick FETCH_HEAD
done
有关 Gerrit 文档的更多信息 here。