captainhook/captainhook

PHP git hook 管理器

5.23.5 2024-09-05 15:44 UTC

README

Latest Stable Version Minimum PHP Version Downloads License Build Status Scrutinizer Code Quality Code Coverage Twitter

CaptainHook

CaptainHook logo

CaptainHook 是一个易于使用且非常灵活的 PHP 开发者 git hook 库。它允许您通过简单的 JSON 文件配置 git hook 动作。

您可以使用 CaptainHook 验证或准备提交信息,确保代码质量或在进行提交或推送更改到 git 之前运行单元测试。在拉取最新更改后,您可以自动清除本地缓存或安装最新的 composer 依赖项。

CaptainHook 使得在团队内部共享 hook 变得容易,甚至可以确保团队中的每个人都能在本地激活 hook。

您可以通过运行 CLI 命令,使用一些内置验证器,或编写由 CaptainHook 执行的自定义 PHP 类。有关更多信息,请参阅文档

安装

安装 CaptainHook 的首选方法是安装 PHAR 文件。您可以通过使用 Phive 或从 GitHub 发布页面 下载 PHAR 来做到这一点。

phive install captainhook

或者使用 Composer 来安装它。

composer require --dev captainhook/captainhook-phar

如果您想获取包含所有依赖项的源代码,可以使用

composer require --dev captainhook/captainhook

设置

安装 CaptainHook 后,您可以使用 captainhook 可执行文件来创建配置。

vendor/bin/captainhook configure

创建 captainhook.json 配置文件后,您必须通过将它们安装到本地的 .git 目录中来激活 hook。为此,只需运行以下 CaptainHook 命令。

vendor/bin/captainhook install

请查看这个简短的安装视频。

Install demo

CaptainHook 的一个目标是为团队使用相同的 git hook 而简化操作。如果您想确保每个人都实际安装了 hook,您可以使用小的 Composer 插件 hook-installer。它每次您运行 Composer 命令时都会运行 captainhook install 命令。

composer require --dev captainhook/hook-installer

当然,队友仍然可以提交而不执行 hook,这就是为什么您应该在后端执行适当的检查。但至少这样就不会有人“意外”忘记安装它们。

配置

以下是一个示例 captainhook.json 配置文件。

{
  "commit-msg": {
    "enabled": true,
    "actions": [
      {
        "action": "\\CaptainHook\\App\\Hook\\Message\\Action\\Beams",
      }
    ]
  },
  "pre-commit": {
    "enabled": true,
    "actions": [
      {
        "action": "phpunit"
      },
      {
        "action": "phpcs --standard=psr2 src"
      }
    ]
  },
  "pre-push": {
    "enabled": false,
    "actions": []
  }
}

贡献

您想为 CaptainHook 库做出贡献?太好了!非常感谢。我绝对需要您的帮助。

请参阅 贡献指南