将精心挑选的补丁更新到最新的 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
在 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