如何在Gerrit中对同一变更进行两个提交(补丁)的差异比较?

4
我在Gerrit提交了两个补丁,但这两个补丁是对同一个修改所做的。第一个补丁是通过修改来改进的,而第二个补丁则来源于另一个依赖于该修改并在此之前被批准和合并的修改。因此,我需要生成这两个补丁之间的差异。更加困难的是,它们实际上是从两个不同的本地git分支推送的(我习惯为要发送到Gerrit的每个提交分叉新分支)。
所以我的问题是:如何比较Gerrit中同一修改的两个提交(补丁)?

第二个补丁已经提交到远程分支了吗? - laplasz
是的,但是要切换到另一个具有相同父级的提交,这样它就会自动修补此提交。 - amphibient
4个回答

7
很容易。如果您想显示补丁集之间的差异,只需转到“文件”部分,查找“Diff against:” - 参见图像中的红色框 -。它将显示当前补丁集与您在组合框中选择的补丁集之间的差异 - 参见蓝色框 - enter image description here 如果您需要比较不同的旧补丁集,只需转到“补丁集”(通常位于屏幕右上角),选择一个旧补丁集,然后使用“Diff against”重复此过程。

6
在差异屏幕中,选择Patch Set选择器中的其他版本,而不是选择Base

1
尝试。
git review -m <CHANGE_NUMBER>,<OLD_PS>[-<NEW_PS>]

但据我所知,git review需要在1.25.x.x以上的git版本中使用。

这是更有用的答案,GUI 显而易见,但如何在 CLI 上执行以获取补丁文件则不明显。 - zzzeek

-1

首先提取提交的更改(git fetch),然后检出第一个更改,然后使用git diff origin/<branch>查看已合并提交所在的分支。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接