将精心挑选的补丁更新到最新的 gerrit 版本

Update cherry-picked patches to latest gerrit version

在 Gerrit 上,我有以下补丁顺序:

A (newest)
B
C
F
G
H
D
E
...

在我的本地 git 存储库中,我有:

P1 (newest)
P2
P3
A
B
P4
C
D
E
...

但是,补丁 A B C D E 都已更新到另一个补丁集,我想在我的本地存储库中为所有这些补丁获取新补丁集。

对于少量精心挑选的补丁,我通常会执行 git rebase 并更新哈希,但对于要更新的​​许多补丁来说,这并不能很好地扩展,我想避免手动挑选-再一一挑选。

如何更新我精心挑选的补丁程序?

如果 P4 独立于您可以使用的其他补丁:

git rebase -i <remote branch>

并通过删除交互式补丁列表中的补丁 A、B、C... window,它会给你一个如下所示的分支:

P1 (newest)-> P2 -> P3 -> P4 -> A -> B -> C ->...

否则你可以尝试使用 rebase 选项进行拉取:

git pull --rebase

但您可能仍然需要解决冲突。

这里给出了这个命令的解释: Difference between git pull and git pull rebase --rebase