Gitフックを管理するための他の多くのツールや作曲家プラグインです。しかし、Githooksは提供します:
githooks tool name-of-the-toolのみコマンドのみを使用して、QAツールを実行する方法から開発者を抽象化します。さらに、ハイブリッドプロジェクトがある場合は、ピッティコード/ハスキーなどのJavaScript検証ツールと一緒に使用できます。
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を初期化します。このコマンドは、ルートパス( 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を実行することもできます。同時にすべてのツールまたは1つずつ:
githooks tool all # Run all tools
githooks tool phpcs # Run only phpcsこの時点で、サポートされているツールは次のとおりです。
ただし、Gitフックに独自のスクリプトを設定できます。
githooks.ymlファイルは3つの部分で分割されます。
executionフラグは、Githooksの実行方法を示しています。
full (デフォルトオプション):各ツールに対して設定されたすべてのパスに対して設定されたすべてのツールを常に実行します。たとえば、 srcおよびapp Directoriesで実行するためにPHPCを設定しました。コミットには、 databaseディレクトリからの変更されたファイルのみが含まれています。 PHPCSは、これらのディレクトリにファイルが変更されていなくても、 srcおよびappディレクトリをチェックします。fast :このオプションは、Commitによって変更されたファイルに対してのみツールを実行します。pathsを上書きするため、 githooks.ymlまたはeathツールの構成ファイルでツールの除外を設定する必要があります。複数のプロセスで複数のツールを同時に実行します( tool all )。プロセスのデフォルト数は1です。
これは、Githooksが実行するツールの名前の配列です。ツールの名前は実行可能です。すべてのツールを実行したい場合、 Toolsキーは次のとおりです。
Tools :
- phpstan
- security-checker
- parallel-lint
- phpcs
- phpcbf
- phpmd
- phpcpdツールがある順序は、それらが実行される順序です。
次のステップでは、ツールキーと同じ名前のツールを構成する必要があります。たとえば、set phpcsの場合:
phpcs :
executablePath : vendor/bin/phpcs
paths : [src, tests]
ignore : [vendor]
standard : ' PSR12 '利用可能なすべてのオプションはWikiにあります。
他の人からの貢献は大歓迎です!プルリクエスト/発行を送信します。 Wikiセクションですべての手順を確認してください。ありがとう!
MITライセンス(MIT)。詳細については、ライセンスファイルをご覧ください。