rugaard / git-hooks
用于处理 Git hooks 的 Composer 插件。
Requires
- php: ^8.0
- composer-plugin-api: ^1.0|^2.0
- ext-json: *
- composer/composer: ^1.0|^2.0
- nunomaduro/collision: ^6.0
- symfony/console: ^6.0
- symfony/finder: ^6.0
Requires (Dev)
- roave/security-advisories: dev-latest
README
这是一个 Composer 插件,它安装了一个应用程序,用于管理和处理项目中与 git
hooks 相关的所有内容。
📖 目录
🌟 功能
🐘 PHP 中的 Git hooks
当涉及到 shell 脚本时,Web 开发者不一定是专家。有了 Git Hooks,这不再是问题。你现在可以用 PHP 编写插件,并利用其所有功能。
🗂 将脚本拆分为单独的文件
如果你想让 git hook 执行多个操作,你通常需要将它们全部放入一个文件中。这增加了出错的风险,增加了文件的大小等。通过使用这个应用程序,你可以单独编写和注册每个脚本。这使得阅读、理解以及调试都变得更容易。
🪄 自动注册
该应用程序将自动定位兼容包中的 git hooks,并自动注册和启用它们。这意味着你不需要进行任何配置。你只需用你想要的 git hooks 安装包即可。
📤 分享你的 Git hooks
这个应用程序的目的是分离和“模块化”git hooks。例如,你可以创建一个包含项目中最常用 git hooks 的包,并在社区或与你的同事中分享它。
📦 安装
你可以通过以下命令使用 Composer 安装包
composer require rugaard/git-hooks
⚙️ 使用
每次执行 git
操作时,应用程序将自动运行并执行触发 git hooks 的相应脚本。不需要手动干预。
然而,你可以创建一个自定义配置文件,其中你可以禁用脚本并覆盖/追加参数(如果脚本支持的话)。
📝 自定义配置
要创建自定义配置,你需要在项目的根目录下运行以下命令
./vendor/bin/git-hooks config
这会创建一个 git-hooks.config.json
文件,其中包含一些选项:register
、disable
和 parameters
。
注册脚本
你可以通过在自定义配置文件中的 register
数组中添加来创建和注册自己的项目特定脚本
{ "register": [ "Namespace\\GitHooks\\PreCommit\\ForceIssueNumberCommand" ], "disable": [], "parameters": {} }
禁用脚本
你可能发现了一个包含多个脚本的 git-hook 收集,但你不想一次性使用它们。与其跳过整个集合或创建自己的集合,你还可以禁用你不想要的脚本。
要禁用脚本,只需将其添加到自定义配置文件中的 disable
数组中
{ "register": [], "disable": [ "Namespace\\GitHooks\\PreCommit\\ValidateMessageCommand" ], "parameters": {} }
脚本参数
如果脚本支持,你可以覆盖或追加特定脚本的参数。这在从第三方安装 git-hook 收集时提供了一些灵活性。
例如,你可能想要更改已安装的 PHPUnit 脚本使用的“打印机”
{ "register": [], "disable": [], "parameters": { "Namespace\\GitHooks\\PrePush\\PhpTestSuiteCommand": { "driver": "phpunit", "config": "tests/phpunit.xml" } } }
🧩 列出已注册的脚本
要了解哪些脚本已注册到应用程序,您可以运行以下命令:
./vendor/bin/git-hooks registered
此命令还会列出每个脚本的命名空间,如果您正在使用自定义配置文件,则需要此信息。
🧑🏻💻 创建自己的 Git 钩
请遵循项目 Wiki中的指南。
🚓 许可证
此软件包遵循MIT 许可协议。