Gerrit:将多个提交合并为一个“更改”

时间:2013-08-30 14:43:57

标签: git gerrit

作为git最佳实践,应该经常提交,但要查看代码,您可能需要一次查看由多个提交组成的修补程序。有没有办法可以审查多个提交,并立即合并或拒绝?

3 个答案:

答案 0 :(得分:29)

您可以将一个壁球合并到一个临时分支,然后发布该更改以供审核。

git checkout -b feature
git commit -m "start feature"
...
git commit -m "finish feature"
git checkout -b feature-review master
git merge --squash feature
git commit

现在,您的feature-review分支将包含与master相同的差异feature,但只有一次提交。

答案 1 :(得分:16)

不,Gerrit目前不支持将批量提交纳入一次审核。但是,还有其他几种选择。

在$ DAYJOB,我的团队使用功能分支进行更大的更改。较小的提交将单独审阅/合并到功能分支,但只有在所有内容都处于良好状态且所有开发人员都满意的情况下才会合并功能分支。

Gerrit还支持主题分支 - 这是分组相关提交的便捷方式。它们在documentation中进行了简要讨论。这些提交仍必须单独审核/合并,但可以在Web UI中快速组合在一起。

答案 2 :(得分:1)

如果您需要更新已发布的审核请求,则可以使用修改提交:

git commit --amend -C HEAD

然后推动进行后续审核。

我相信公共提交应该是原子的,并包含您想要贡献的完整功能。通常,您不希望共享所有中间提交。因此,在审核之前压缩提交是个好主意。