【PhpStorm】PhpStormでpre-commitのGitフック

著者:杉浦

【PhpStorm】PhpStormでpre-commitのGitフック

 Gitには元よりGitのある動作をした時に自動で動作するスクリプトを埋め込むことができます。このスクリプト機能をGitフックと呼びます。
Git – Git フック
 これだけでも便利なのですが権限であったり、環境変数がまっさらな状態で呼び出されたり、スクリプトをGitに含められなかったり、スクリプトを書く時にプロジェクトにしていたソースコードのルートとGitのルートが違っていたりで少々面倒が起きたりします。PhpStormにはコミット前Gitフックの機能が入っています。これを使うとプロジェクトに属したGitフックを作ることが出来ます。
 ここからGitフックの入れ方、使い方の説明です。
 まず次の画像の様に設定->プラグインからPre Commit Hook Pluginをインストールします。これはPhpStormを作っている会社であるJetBrains製で気が付いたら既に入っているタイプのプラグインです。

Pre Commit Hook Plugin – Plugins | JetBrains
 インストールが完了したら再び設定からツール->Pre Commit Hookを選び、対象のスクリプトパスを設定します。Gitフックと違ってパスも環境変数も自由です。もちろんスクリプトがエラーを吐けばコミットに待ったをかけてくれます。

 せっかくプロジェクトに含められるのですからスクリプトもなるべく楽をしようと思います。自分が使っているスクリプトが次です。

npm run pre-commit

 npmに全任せです。package.jsonには次の4行が含まれており、php-cs-fixerによるPHPの自動修正、ESLintのfixオプションによるJavaScriptの自動修正、duskによる自動ブラウザテストが走る様になっています。

    "php-cs-fix": "vendor\\bin\\php-cs-fixer fix -v",
    "eslint": "./node_modules/.bin/eslint resources/**/*.{js,vue} --fix",
    "browser-test": "php artisan dusk",
    "pre-commit": "npm-run-all eslint php-cs-fix browser-test"

 思いつきですがGitフックもスクリプトからpythonとかのインタプリタ言語を動かせば結構自由そうです。ググればありそう。

  • この記事いいね! (0)

著者について

杉浦 administrator

1件のコメント

【PhpStorm】PhpStorm上でコードの一部分のみGitを辿る – 株式会社シーポイントラボ | 浜松のシステム開発会社投稿日:6:12 pm - 4月 3, 2019

[…] 【PhpStorm】PhpStormでpre-commitのGitフック […]

現在コメントは受け付けていません。