我在工作中使用Gerrit进行代码审查,我对它鼓励的工作流程及其所具有的代码审查功能感到非常满意。
但是,似乎缺少我习惯使用Github / GitLab / BitBucket的一项功能:能够查看功能分支的整个最终状态(包括该分支上所有提交的更改)。
对于长分支,开发需要回溯以撤消先前的尝试,这导致要求将分支压缩为单个提交,因此可以检查其最终状态以确保最终状态有意义。但是,我非常不喜欢丢失中间提交,只是为了方便代码审查,因此我想避免这种情况。
Gerrit有什么办法可以查看分支的最终状态吗?或更笼统地说,是在两次任意提交之间的差异上? (在这种情况下,它将是分支的头以及分支出的提交)。
如果可以通过某种插件实现,那也可以。
将分支压缩为单个提交确实是一个坏主意,因为您将失去功能分支的提交历史记录。
Gerrit没有所需的差异功能,并且AFAIK没有插件可以执行该功能,但是,我认为,更改页面具有分析合并提交所需的一切。
假设您具有以下情况:
A --- B <== master
\
\
C --- D <== feature
并且您希望将功能合并到母版以获得此:
A --- B --- E <== master
\ /
\ /
C --- D <== feature
在合并提交的更改页面中,您可以选择Gerrit如何进行比较(父项1,父项2或自动合并),如下面的示例所示。
父母1:
父母2:
自动合并:
您还可以看到所有将由功能分支合并的提交:
注意:我正在使用Gerrit 3.0.3