实验上,git钩子似乎在当前目录设置为存储库的根目录的情况下运行.但是,我在git文档中看不到任何保证.我应该依赖当前的工作目录来定位git存储库,还是有更好的方法来计算与钩子相关联的git存储库?
Oha*_*der 48
目前的答案似乎已经过时了.从2.9.0开始,文档声明如下:
在Git调用钩子之前,它将其工作目录更改为非裸存储库中工作树的根,或者更改为裸存储库中的$ GIT_DIR.
https://git-scm.com/docs/githooks/2.9.0
man*_*lds 43
它基于为环境变量设置的值GIT_DIR.当钩子开始运行时,它被设置为存储库的根目录.许多钩子,特别是那些从另一个仓库中拉出来的钩子,根据需要取消(并重置)这个环境变量.