はじめに
ブランチ切り替えた時に「composer dump-autoload」が出来たら便利なんじゃないか?とふと思ったので、Git Hooksを使ってやってみようと思った次第です。
やってみよう
① プロジェクトのgitconfigを設定してhooksを使えるようにしよう!
/project/.git/configにhooksの情報を記述
・coreセクションにhookspathを設定
[core]
~(略)~
hookspath=.git/hooks ←新たに追加
[remote "origin"]
~(略)~
② 何をhookするか決めよう!
/project/.git/hooks/には様々なgitアクションをhookできるようになっています。今回は、ブランチ切り替えた時なので「post-checkout」を編集もしくは、新規作成します。
他にhookできる内容は下記リンクを参照ください。
https://git-scm.com/book/ja/v2/Git-%E3%81%AE%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA-Git-%E3%83%95%E3%83%83%E3%82%AF
③ 処理を書こう!
②の手順で用意した 「 post-checkout 」に直接記載します。
※windows環境で作成しています
#!/bin/sh
powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "docker exec -i [container-name] bash -c \"composer dump-autoload\""
dockerに入って何かするってのがうまくいかなかったので、powershellを経由してdockerに入り、-cでうまくコマンドを渡してやるって感じです。
最後に
色々できそうなので、あれしたいっすね!
共有とか!コミットをフックしたりとか!