실험적으로 git 후크는 현재 디렉토리가 저장소의 루트로 설정된 상태에서 실행되는 것 같습니다. 그러나 git 문서에서는 이에 대한 보장을 볼 수 없습니다. git 저장소를 찾기 위해 현재 작업 디렉토리에 의존해야합니까, 아니면 후크와 관련된 git 저장소를 작업하는 더 좋은 방법이 있습니까?
답변
환경 변수에 설정된 값을 기반으로합니다 GIT_DIR
. 후크가 실행되기 시작할 때 저장소의 루트로 설정됩니다. 많은 후크, 특히 다른 저장소에서 끌어 오는 후크는 필요에 따라이 환경 변수를 설정 해제 (및 재설정)합니다.
답변
현재 답변이 오래된 것 같습니다. 2.9.0부터 문서는 다음과 같이 설명합니다.
Git은 후크를 호출하기 전에 작업 디렉토리를 베어가 아닌 저장소의 작업 트리 루트 또는 베어 저장소의 $ GIT_DIR로 변경합니다.
https://git-scm.com/docs/githooks/2.9.0
답변
환경 변수를 사용할 수 있습니다 $GIT_DIR
. 디렉토리를 $GIT_DIR
가리 킵니다 .git
.