预合并/提交代码审查工具

软件推荐 代码审查 版本控制
2021-10-16 03:42:02

在我以前的工作场所,我们使用Gerrit作为 git 的代码审查工具,以便在基于 Web 的界面上共享和审查彼此的修改,并在合并之前提供反馈和改进代码的机会。

它支持在将代码合并到主分支之前/不将其合并到主分支之前审查代码(并拒绝它)。是否有任何其他支持预提交/合并审查的代码审查工具?

(请不要限制你对 git 的回答,我也会对其他版本控制系统(如 Mercurial 或 Subversion)的代码审查工具感兴趣。)

4个回答

除了 Gerrit 和 GitLab(见下文)之外,我从未使用过任何代码审查工具(见下文),但这里有一些我知道的(所有这些都是针对 Git,因为这是我所知道的,但有些可能适用于其他修订控制系统):

  • Phabricator有很多软件工程的功能,代码审查就是其中之一。它看起来也比 Gerrit 有一个更好的界面,而且它是 PHP 而不是 Java/GWT 的事实意味着它可能更容易构建和测试你自己对它的修改。有关示例审查任务,请参阅https://secure.phabricator.com/D8141 。
  • Gitlab是一个开源的 Github 克隆。您将其用作代码审查工具的方式是让每个开发人员创建一个分支,在该分支上工作,然后提交合并请求
  • Barkeep比上面的其他选项简单得多,因为它只是一个评论工具,没有任何其他功能。它也是 post-commit,而不是 pre-commit,尽管它的目的是像 pre-commit 工具一样进行审查(而不是大多数其他 post-commit 工具那样进行审计)。
  • ReviewBoard是我所知道的最后一个副手,但除了它存在之外,我对它一无所知。

维基媒体的工具比较有很多关于其中几个选项的信息。

我一直使用TortoiseHg来满足我在 Windows 上的 mercurial GUI 需求,它具有非常好的预提交/合并支持。Working Directory在提交之前,您始终可以在变更集视图中右键单击并选择Diff to Parent以打开您选择的差异工具,其中包含当前存储库中的所有更改。您还可以在合并之前选择任何变更集和Diff to Local以查看会发生什么。

TortoiseGit是 TortoiseHg 的 Git 对应物,但我不确定所有 UI 是否都处于相同的奇偶校验级别。从 Mercurial 给我的 Git 总是觉得笨重和不自然,所以我从来没有用它建立过合适的工作流程。

SourceTree还非常支持在 Mercurial 和 Git 的提交之前和合并之前预览更改

Deveo支持 Git 和 Mercurial 的合并前代码审查。Subversion 支持将在稍后推出。以下博客文章分别描述了GitMercurial的工作流程。Mercurial 帖子中附有工作流程的视频。

(免责声明:我在 Deveo 工作)

看起来Collaborator可以这样做:

  • Subversion 但它涉及使用 Subversion 服务器挂钩。
  • Git 使用 Git 服务器挂钩。
  • Perforce 使用服务器触发器。

我只将它与 Accurev “集成”使用,因此团队更多地执行此操作。