2011-09-16 3 views
2

나는 다른 어떤 종류의 걸작도 가지고 있지 않습니다. 오늘 여러 번 dev에까지 점점 CONSOLE.LOG을 갖는 당황 후에, 나는 다음과 같은 사전 커밋 후크에 넣어 :Git이 왜 커밋입니까? (그리고 git add, 그 다음 git 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 commit filename'을 사용합니다. 'git add'를 통해 파일을 추가하거나 'git commit -a'(수정 된 파일을 모두 추가 한 다음 커밋을 실행한다고 가정 할 경우)는 실행되지 않습니다. 왜 이런 일이 일어나는 걸까요? 나는 자식이 아니며 Google에서 일부 사냥을 해봤지만 구체적인 것은 없었습니다.

답변

1

pre-commit 후크는 당신이 당신의 repo에 커밋을 할 때마다 실행됩니다. 파일이 색인에 추가되는 방식과 아무 관련이 없습니다. 나는 당신이 해고와 스크립트가 당신이 원하는 것을하는 것을 혼란스럽게 생각합니다. 조건부 외부에 echo을 추가하여 스크립트가 항상 트리거되는지 확인하십시오.

난 당신이 게시 한 스크립트를 시도하지 않은,하지만 난 문제가 git diff 될 수 있으리라 생각

- 그것이 있어야 git diff --cached

업데이트 :

난 당신이 --cached를 사용한다는 것을 확인했다 .

+0

그게 전부입니다. 아마도 나는 아침에 너무 일찍 프로그래밍을 시작했다.) – Stephen

관련 문제