CaptainHook 使用教程
项目介绍
CaptainHook 是一个非常灵活的 Git 钩子管理器,旨在帮助软件开发团队轻松共享 Git 钩子。通过 CaptainHook,您可以确保团队成员在提交代码时不会破坏测试或编码标准,还可以验证提交消息。CaptainHook 提供了两种版本:Golang 版本和 PHP 版本,分别适用于不同的开发环境。
项目快速启动
安装
首先,您需要通过 Composer 安装 CaptainHook:
composer require --dev captainhook/captainhook
配置
创建一个 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": []
}
}
安装钩子
运行以下命令安装钩子:
vendor/bin/captainhook install
应用案例和最佳实践
验证提交消息
通过配置 commit-msg
钩子,可以确保提交消息符合特定的格式要求。例如,使用内置的 Beams
动作来验证消息格式。
代码质量检查
在 pre-commit
钩子中配置 phpcs
动作,可以在提交代码前自动检查代码质量,确保代码符合 PSR-2 标准。
单元测试
在 pre-commit
钩子中配置 phpunit
动作,可以在提交代码前自动运行单元测试,确保代码的正确性。
典型生态项目
PHP_CodeSniffer
PHP_CodeSniffer 是一个用于检测 PHP、CSS 和 JavaScript 代码标准违规的工具,常与 CaptainHook 结合使用,以确保代码质量。
PHPUnit
PHPUnit 是一个 PHP 单元测试框架,通过在 CaptainHook 中配置 phpunit
动作,可以在提交代码前自动运行单元测试,确保代码的正确性。
Composer
Composer 是 PHP 的依赖管理工具,通过配置 CaptainHook 的钩子,可以在拉取最新代码后自动安装最新的 Composer 依赖。
通过以上步骤,您可以快速启动并使用 CaptainHook,确保团队代码的质量和一致性。