gruntjs タスクを precommit フックとして実行する方法はありますか。たとえば、失敗したテストや jshint の問題でコミットを防止したい。また、コミットごとにコード美化ツールを実行することも考えています。
3 に答える
Git フックは、コミットなどのアクションを実行するときに実行される単なるスクリプトです。好きなプログラミング言語を含めることができます。
うなり声をトリガーする例:
#!/bin/sh
grunt
これをファイルに保存します。.git/hooks/pre-commit
grunt が 0 より大きいエラー コードで終了した場合 (タスクが失敗した場合)、コミットが妨げられます。
このフックをゼロ以外で終了すると、コミットが中止されます
参考資料: git pre-commit フックを使用するためのヒント
および git ドキュメント: 8.3 Git のカスタマイズ - Git フック
他の多くのバージョン管理システムと同様に、Git には、特定の重要なアクションが発生したときにカスタム スクリプトを起動する方法があります。
grunt-githooksをチェックする必要があると思います。これは素晴らしい Grunt プラグインで、すべての魔法を実行し、次のような特定のフックの Grunt タスクを 内から簡単に登録できますGruntfile.js
。
grunt.initConfig({
githooks: {
all: {
// Will run the jshint and test:unit tasks at every commit
'pre-commit': 'jshint test:unit',
}
}
});
( https://github.com/wecodemore/grunt-githooks#defining-a-few-hooksのドキュメントから取得)
モジュールは npm hereにあります。