[git] git 후크에서 현재 작업 디렉토리가 git 저장소 내에 있음을 보장합니까?

실험적으로 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.


답변