43

作为 git 最佳实践,应该经常提交,但要查看代码,您可能需要一次查看包含多个提交的补丁。有没有办法可以一次审查多个提交并合并或拒绝?

4

3 回答 3

36

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

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分支将包含与之前相同的差异,masterfeature只有一次提交。

于 2013-08-30T17:25:49.233 回答
20

不,Gerrit 目前不支持将提交批量提交到一个审核中。但是,还有其他几个选择。

在 $DAYJOB,我的团队使用功能分支进行更大的更改。较小的提交会单独审查/合并到功能分支,但是只有在一切都处于良好位置并且所有开发人员都满意时才会合并功能分支。

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

于 2013-08-30T17:01:08.530 回答
1

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

git commit --amend -C HEAD

然后推动后续审查。

我相信公共提交应该是原子的,并且包含您想要贡献的全部功能。通常你不想分享你所有的中间提交。所以在审查之前压缩提交是个好主意。

于 2013-09-06T21:22:38.747 回答