有什么东西可以像 git 的 gerrit 一样进行颠覆吗? [关闭]

2024-03-06

Gerrit 很有用,但它仅适用于 git。我想设置类似的东西,但为了颠覆。有没有软件可以完成这项工作?


您可以尝试使用咒语者 http://phabricator.org/。它可用于 SVN 和 Git。它做了更多的事情,但它确实提供了代码审查(之前)和代码审计(之后)。

我自己一直在评估 Gerrit、Reviewboard 和 Phabricator,但尚未决定走哪条路。

快速总结

Gerrit

  1. 例如 Android 使用的,所以不会太差

  2. 仅支持 Git

  3. 评论是通过推送到特殊分支来创建的

  4. 两种投票方法,验证(例如通过 Jenkins)和代码审查

  5. 审核后,更改可以由 Gerrit 直接推送到主分支

  6. 全面的访问控制机制来保护存储库

  7. UI 不太吸引人,但速度很快,一次显示一个文件

  8. 由于它一次只显示一个文件,因此您已审阅的文件旁边有一个很好的复选框

  9. 能够触发Jenkins验证补丁

  10. 用 Java 编写 (.war)

  11. 非常活跃的开发

评论板

  1. 例如,被 Apache 使用,所以不会太差

  2. 支持任何现代 SCM

  3. 提交前和提交后评论是使用 Python 脚本创建的

  4. 经过预提交审查后,您可以将代码提交到存储库,但这很难验证并且可以通过

  5. 存储库没有访问控制机制,因为它不受其控制

  6. 用户界面很好,但加载差异时非常慢。在我的测试系统上加载文件差异可能需要相当长的时间,而 Gerrit 和 Phabricator 则要快得多

  7. 用Python编写

  8. 积极发展

法布里克塔

自 2021 年 6 月 1 日起生效:不再主动维护 Phabricator。

  1. 例如 Facebook 和 Dropbox 使用的,所以不会很差

  2. 支持 Git、Subversion 和 Mercurial

  3. 使用 php 脚本进行预提交审核

  4. 可以通过制定将触发审核的规则来创建提交后审核(审核)(很好!)

  5. 更像是一个完整的生态系统,其中包括错误跟踪器、存储库浏览器、wiki 等

  6. 他们称之为轻松愉快,责任重大。这意味着您需要忍受“Clowncopterize”或“Avast”等术语而不是“确定”,并且您可以“出于恶意”关闭任务

  7. 用php写的

我的总体印象是,Gerrit 受到新开源项目的青睐,Reviewboard 受到老项目的青睐,Phabricator 受到新初创公司的青睐。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有什么东西可以像 git 的 gerrit 一样进行颠覆吗? [关闭] 的相关文章

  • 第一次使用node.js - “ReferenceError:节点未定义”

    我刚刚安装了node js 我尝试编写应该检查版本的node v 但它不起作用 这是输出 gt node v ReferenceError node is not defined at repl 1 2 at REPLServer self
  • 如何合并两个连续的 git 存储库

    我有一个相当独特的情况 我有一个名为 Project1 的存储库 我在其中工作了一些时间 几个月 一年后 我创建了存储库 Project1 Again 从 Project1 停止的地方开始 现在 我希望修订历史记录是连续的 因此我希望它们合
  • VS 2015 + Bower:在防火墙后面不起作用

    Problem 在 Visual Studio 2015 中 使用 Bower 我的包在防火墙后面时恢复失败 并出现类似以下内容的错误 ECMDERR 无法执行 git ls remote tags heads git github com
  • 在 Windows 7 上的 Sourcetree 中比较 Word docx 文件

    我一直在尝试获取在 Windows 7 上的 Sourcetree 中工作的 Word docx 文件的文本差异 我已按照此处的说明进行操作将 Microsoft Word 与 git 结合使用 http blog martinfenner
  • git 认为文件已更改

    我在一台机器上对一个项目做了一些工作 然后推送到 github 在另一台机器上克隆并做了一些工作 然后推送 然后我回到第一台机器并做了一个pull 现在 第一台机器认为项目中最初的所有文件都已更改 我试过了 git checkout f a
  • `git Reset HEAD file` 是否也检查该文件?

    我错误地向 git 添加了一个目录 当我按照提示操作时here https stackoverflow com questions 348170 undo git add通过执行以下操作来撤消添加git reset HEAD
  • 如何在 macOS 上将 Git 升级到最新版本?

    我刚刚购买了一台装有 OS X Lion 的新 Mac 我在终端中检查了默认安装的 git 版本 我得到了答案 git version gt git version 1 7 5 4 我想将 git 升级到最新版本 1 7 8 3 因此我下载
  • IntelliJ IDEA 中多个 SVN 分支的工作流程

    我想使用 IntelliJ IDEA 在 SVN 主干和一个或几个功能分支之间轻松切换 最好能够同时在多个分支上工作 我有一些 本地 配置 例如用于集成测试的数据库设置和启用的调试日志记录 我想继续使用而不是提交到 SVN 各种选择的优缺点
  • git 提交错误:检测到大文件

    您好 我正在为 ios 8 1 开发一个应用程序 xcode 我已经使用 googleMaps 框架来实现自动完成功能 当我尝试在 Git 中推送我的项目时 我收到大文件检测错误 后来尝试使用 git lfs 并跟踪 git 检测到的文件
  • 如何使用 Git 跟踪目录而不是文件?

    我最近开始使用 Git 但只有一件事遇到了麻烦 如何在不跟踪目录内容的情况下跟踪目录 例如 我正在开发的网站允许上传 我想跟踪上传目录 以便在分支等时创建它 但显然不是其中的文件 在开发分支中的测试文件或主控中的真实文件 在我的 gitig
  • 带有 git Remote 的 Gem 文件在 Heroku 推送上失败

    我的 gemfile 中有以下行 gem client side validations git gt email protected cdn cgi l email protection Dakuan client side valida
  • Git 2.2.x 无缘无故更新旧包文件的时间戳

    Git 2 2 0 和 2 2 1 似乎修改了旧的时间戳 git objects pack pack pack偶尔会无缘无故地文件 它只是改变时间戳 内容是相同的 调试这一点很困难 因为它似乎很少进行更改 我在 2 2 0 之前的任何 Gi
  • 为所有子文件夹设置 git 配置值

    我知道可以设置每个存储库的配置来覆盖用户级配置 即 path to my repo gitconfig覆盖 gitconfig 是否可以设置 git 配置来覆盖给定文件夹的所有子文件夹的用户级设置 即 我有 topLevelFolder1
  • `git push` -- 没有输出,什么也没有发生

    touch test git add test git commit m test git push u origin master 这奏效了 该文件已上传到存储库 rm test cp R website website git rm t
  • 如何提取 Mercurial 中变更集的所有已更改文件?

    直到最近 我们一直在网络工作室的所有项目中使用 SVN 并且 Subversive 和 TortoiseSVN 等多个客户端中存在一个非常方便的功能 可以提取在某个版本中更改的所有文件 Mercurial 有没有办法做到这一点 我不在乎它是
  • 将更改从一个分支复制到另一个分支

    我有一个分支名为BranchA from master 我有一些改变BranchA 我不会合并来自BranchA to master 现在我创建了另一个分支master named BranchB 我如何复制更改BranchA to Bra
  • 除非我在项目目录中,否则 Git 不会显示日志

    我正在尝试打电话git log当我在不同的目录中时 我经过的位置 git is git log Users Leica proj1 但它说 不是 git repo 如果我cd进入这个目录 就可以正常工作了 cd Users Leica Pr
  • 如何在不在存储库中的情况下执行 Git 命令?

    有没有一种方法可以在不位于存储库的情况下对存储库执行 Git 命令 例如这样的事情 git home repo log 请不要告诉我cd到它 我正在通过一个exec call Use C作为 git 的第一个参数 git C home re
  • Git 无法识别重命名和修改的包文件

    我有一个名为的java文件package old myfile java 我已经通过 git 提交了这个文件 然后我将我的包重命名为new所以我的文件在package new myfile java 我现在想将此文件重命名 和内容更改 提交
  • 具有单个子模块的多个存储库

    我已经找了一段时间但没有找到答案 也许我不知道该看什么 我们有一个主库 它本身就是一个存储库 我们称之为 Lib 它包含我们的大部分模块和子模块 我们还假设它的大小为 2GB 现在我们有很多项目 例如 ProjA ProjB ProjC 每

随机推荐