还有许多其他用于管理git钩的工具和作曲家插件。但是Githooks提供:
githooks tool name-of-the-tool执行的如何执行QA工具来抽象。此外,如果您有混合项目,则可以与JavaScript验证工具(如Typicode/Husky)一起使用。
composer require --dev wtyd/githooks注意:对于php <8.1,您必须将下一个post-update-cmd事件添加到composer.json的scripts部分:
"scripts" : {
"post-update-cmd" : [
" Wtyd \ GitHooks \ Utils \ ComposerUpdater::phpOldVersions "
]
}然后运行composer update wtyd/githooks 。
在版本2.3.0之前,所使用的方法为php72orminorupdate ,但已弃用,并将从3.0.0版中删除
将其添加到post-install-cm事件也很方便,以便其余的项目开发人员没有构建问题
"scripts" : {
"post-update-cmd" : " Wtyd \ GitHooks \ Utils \ ComposerUpdater::phpOldVersions " ,
"post-install-cmd" : " Wtyd \ GitHooks \ Utils \ ComposerUpdater::phpOldVersions "
}githooks conf:init初始化githooks。此命令在root路径( githooks.yml )中创建配置文件。 githooks hook 。它将脚本复制在.git/hooks目录中的预加入事件中的启动githooks。您也可以运行githooks hook otherHook MyScriptFile.php以设置使用自定义脚本的任何钩子。有关更多信息,请参见Wiki。为了确保它是自动配置的,我们可以在composer.json文件( scripts部分)的post-update-cmd和post-install-cmd事件中配置命令:
"scripts" : {
"post-update-cmd" : [
" vendor/bin/githooks hook " // or "vendor/bin/githooks hook pre-commit MyScriptFile.php"
],
"post-install-cmd" : [
" vendor/bin/githooks hook "
]
}提交时,所有配置的代码检查工具将自动启动。如果您的代码通过所有检查,则Githooks允许您提交。如果没有,您必须修复代码并重试:
您也可以随时随地运行Githooks。所有工具同时或一个一个工具:
githooks tool all # Run all tools
githooks tool phpcs # Run only phpcs目前,受支持的工具是:
但是您可以在任何git钩上设置自己的脚本。
githooks.yml文件分配在三个部分:
execution标志标记了Githooks如何运行:
full (默认选项):执行始终针对为每个工具设置的所有路径设置的所有工具。例如,您将PHPC设置为在src和app Directories中运行。该提交仅包含来自database目录的修改文件。 PHPC将检查src和app目录,即使这些目录中没有修改文件。fast :此选项仅针对COMMIT修改的文件运行工具。githooks.yml或Eath工具的配置文件中设置工具的排除,因为此选项覆盖工具的关键paths ,以便仅针对修改的文件执行它们。同时在多个过程中运行多个工具( tool all命令)。默认的进程数为1。
这是一个带有Githooks将运行的工具名称的数组。工具的名称是它们的可执行文件。如果您希望执行所有工具, Tools密钥将如下:
Tools :
- phpstan
- security-checker
- parallel-lint
- phpcs
- phpcbf
- phpmd
- phpcpd工具的顺序是执行它们的顺序。
在下一步中,您必须配置具有与工具密钥相同的名称的工具。例如,对于设置PHPC:
phpcs :
executablePath : vendor/bin/phpcs
paths : [src, tests]
ignore : [vendor]
standard : ' PSR12 '所有可用选项都在Wiki中。
他人的贡献将不胜感激!发送拉请请求/问题。在Wiki部分检查所有步骤以进行贡献。谢谢!
麻省理工学院许可证(麻省理工学院)。请参阅许可证文件以获取更多信息。