En un git hook, ¿está el directory de trabajo actual garantizado dentro del repository de git?

Experimentalmente parece que los git hooks se ejecutan con el directory actual configurado para ser la raíz del repository. Sin embargo, no puedo ver ninguna garantía sobre eso en la documentation de git. ¿Debo confiar en el directory de trabajo actual para ubicar el repository de git, o hay una forma mejor de encontrar el repository de git asociado al enganche?

Se basa en el valor establecido para la variable de entorno GIT_DIR . Se establece en la raíz del repository cuando el gancho comienza a ejecutarse. Muchos enganches, especialmente los que realizan un pull desde otro repository, desarman (y reinician) esta variable de entorno según sea necesario.

Las respuestas actuales parecen estar desactualizadas. A partir de 2.9.0, los documentos indican lo siguiente:

Antes de que Git invoque un enlace, cambia su directory de trabajo a la raíz del tree de trabajo en un repository no vacío, o al $ GIT_DIR en un repository simple.

https://git-scm.com/docs/githooks/2.9.0

Puede usar la variable de entorno $GIT_DIR . $GIT_DIR Puntos $GIT_DIR en el directory .git .