2011-09-16 24 views
2

私が使っているリポジトリは他にはありません。今日では、複数回のdevのために立ち上がっにconsole.logを持っていることの恥ずかし後、私は次の事前コミットフックに置く:Gitがコミットしている理由-a(git add、git commit)実行可能ファイルを実行しないpre-commitフック

#!/bin/sh 

count=`git diff | grep -i 'console\.' | wc -l | awk '{print $1}'` 
if [[ "$count" -ge 1 ]]; then 
echo " remove any console statements in javascript sources" 
    exit 1 
fi 

自体のスクリプトが正常に動作し、Gitは限りそれを発射私は 'git commit filename'を使用します。 'git add'でファイルを追加した場合や、 'git commit -a'(変更されたファイルをすべて追加してからコミットを実行すると仮定した場合)は、起動しません。なぜこうなった?私はgit masterではないし、Googleでいくつかの狩りをしてきたが、何も具体的なことは考えていない。

答えて

1

あなたのレポをコミットするたびに、プリコミットフックが起動/実行されます。ファイルがインデックスにどのように追加されるかは関係ありません。私は、発砲とあなたが望むことをするスクリプトとを混同していると思います。スクリプトが常に起動されているかどうかを調べるには、条件外でechoを追加します。

私はあなたが投稿したスクリプトを試していないが、私は問題は git diffになる可能性が信じている

- それがあるべきgit diff --cached

更新:

私はあなたが--cachedを使用する必要があることを確認しています。

+0

それでした。おそらく私はちょうど早朝にプログラミングを始めました;) – Stephen

関連する問題