首页 > 解决方案 > 如何使用新补丁集在 Gerrit 中保留批准

问题描述

我正在为团队设置 Gerrit 服务器。我过去使用过 Gerrit,但从未设置过。

我知道我过去使用过的一个功能是,一旦我获得了 CL 批准,我可以在不失去批准的情况下重新设置分支。我认为这是某个地方的设置,但我找不到它。

标签: gerrit

解决方案


您需要将存储库的“提交类型”(在存储库配置页面中)设置为以下之一:

必要时变基

如果提交的更改是目标分支的严格超集,则该分支将快速转发到更改。如果不是,则更改会自动重新定位,然后分支会快速转发到更改。

当 Gerrit 尝试进行合并时,默认情况下只有在没有路径冲突的情况下合并才会成功。当同一文件在合并的另一侧也已更改时,会发生路径冲突。

总是变基

基本上,与 Rebase If Necessary 相同,但即使可以快进,它也会创建一个新的补丁集,并且像 Cherry Pick 一样,它确保诸如 Change-Id、Reviewed-On 等页脚存在于合并的结果提交中。

因此,Rebase Always 可以被认为类似于 Cherry Pick,但重要的区别是 Rebase Always 不会忽略依赖项。

在此处的 Gerrit 文档中查看更多详细信息。


推荐阅读