2011-05-10 5 views
4

방금 ​​전 사용자 지정 작업을 수행하기 위해 작은 사전 커밋 (pre-commit) 훅을 작성했습니다. 내 중앙 저장소가 Solaris 서버에 있고 HTTP가 사용 가능합니다.복제본 저장소에 내 Git 사전 커밋 훅 트리거가없는 이유는 무엇입니까?

/apps/opt/git/myrepo.git 

나는 후크를 미리 커밋하고 다음과 같이 수정 편집 : 그것은 어떤 메시지를 제공하지 않습니다 나는이 저장소를 복제 할 경우

#!/bin/sh -x 
if [ $LOGNAME -ne bala ]; then 
    echo "You are not allowed" 
    exit 1; 
fi 

및 기타 사용자를 사용하여 커밋 작업을 수행하고, 커밋 . 내 커밋이 pre-commit 후크를 호출하지 않는 이유는 무엇입니까?

.git/hooks 디렉토리의 복제본에서 볼 수있는 "pre-commit"훅이 없기 때문에 기본 템플릿 만 볼 수 있습니다.

아무도 도와 줄 수 있습니까? 여기 답변의

+0

이 문제를 해결 baluchen 도움말에서 팁을 했 서버 측에 pre-receive이 필요하십니까? 그렇다면 해결책을 수락 할 수 있습니까 (체크 표시 버튼 사용)? –

답변

5

몇몇 요소 :

    당신이 후크를 정의한 REPO를 복제하는 경우
  • 후크가 클론을 통해 전파되지 않습니다 , 그들은하는 REPO
  • 순수 로컬 당신은하지 않습니다 그 후크를 찾으십시오
  • 로컬 repo에 대한 커밋을 방지하려면 로컬 repo에서 pre-commit (예전처럼)이 필요합니다. 실행 파일인지 확인하십시오.
  • 어떤이 사람이 있지만, '발라'에 의해 수행 커밋 차단하려면
  • , 당신은
+0

VonC, 업데이트 해 주셔서 감사합니다. 나는 고리가 절대로 복제품과 함께 존재한다는 것을 몰랐다. 사용자가이 훅을 삭제하는 것을 방지 할 수있는 방법이 있습니까? 이 고리들을 중앙 위치에두고 싶습니다. 후크 스크립트를 공유 할 수있는 방법을 제공 할 수 있는지 Apprciate. – baluchen

+0

@baluchen : 그 이유는 'pre-receive'와 같은 서버 측 훅을 언급했기 때문입니다. 사용자가 자신의 로컬 저장소에서 원하는 모든 것을 수행하는 것을 막을 수는 없습니다. 그러나 적어도 커밋이 특정 기준을 따르지 않으면 중앙 repo에 푸시 된 커밋을 거부 할 수 있습니다. – VonC

+0

감사합니다. 나는 옵션을 시도 할 것이다. – baluchen

관련 문제