Git で commit 前に 自動でコマンドを実行する #Node.js #husky
Git で commit 前に 自動でコマンドを実行する
commit を hook して 自動でコマンドを実行して
開発の負担を減らす事が目的です
git add my_file.js # ここのタイミングで自動でコマンド実行 git commit -m 'コミットメッセージ'
対象
Node.js を利用している環境
commit hook 系は各言語で あると思いますので
開発シーンにあったライブラリをご利用ください
python はこちら
- https://dev.classmethod.jp/tool/git/python-git-pre-commit/
環境構築
npm install husky --save-dev
package.json に追記
{ "scripts": { "precommit": "npm test", }, "husky": { "hooks": { "pre-commit": "precommit" } } }
これで commit 前に hook されて
npm test
が実行されれます
おすすめのコマンド
eslint or tslint
開発の規約などを定義して
満たしているかの確認をします
--fix
までして問題ないと思います
jest
テストを書いて自動実行
prettier
コードのフォーマットです
eslint
と一緒に実行するのがベターです
git secrets
秘密の情報を間違えて流出させないように!!
詳細はこちらを御覧ください
この様に &&
でつなげて 定義してみてください
"precommit": "git secrets && npm eslint && npm jest",
補足
CI の時でも 可能ですすが ローカルで済ませておくと
戻りも少なくおすすめです
また 作ったコマンドは CI の時も そのまま利用可能
な物が多いのでおすすめです
まとめ
commit 前にしたいことは 多いと思います
うっかりミスを防ぎましょう
precommit
は定期的に見直しが必要です
もっといいライブラリなどがあれば
precommit
を強化しましょう