Gitに備わっているGitフックのpre-commitという機能を使って、
git commit
時にRubocopを走らせる方法を紹介します。
- Gitフックとは
- appbrew Tech Blog (pre-commitとは)
手順1.
chmodコマンドで、設定を記述する.git/hooks/pre-commit
の実行権限を与える
ターミナル
chmod a+x .git/hooks/pre-commit
手順2.
.git/hooks/pre-commit
を開く
ターミナル
open .git/hooks/pre-commit
VScodeなら
ターミナル
code .git/hooks/pre-commit
手順3.
.git/hooks/pre-commit
のファイル末行にRubocopを走らせるコマンドを記述する
.git/hooks/pre-commit
~省略~
bundle exec rubocop
Docker-composeを使っていたら
.git/hooks/pre-commit
~省略~
docker-compose -f docker-compose.yml exec -T サービス名 bundle exec rubocop
-T
オプションをつけないと、うまくいかない。
[ -T ] : 擬似 TTY への割り当てを無効にします。 デフォルトにおいて
docker-compose exec
には TTY が割り当てられます。
https://docs.docker.jp/compose/reference/exec.html?highlight=exec
手順4.
.git/hooks/pre-commit
を保存して完了。