我想调用位于存储库中的脚本。
我当然可以做以下事情:
#!/bin/sh
../../myscript.sh
但我认为那不太好;)
那么我如何在提交后脚本中获取我的项目路径?
最佳答案
当您处理非裸存储库时,post-commit
1 Hook 会在存储库工作树的当前工作目录下运行。所以,您不需要 ../../
。
如果你想要脚本的完整路径,你总是可以这样做:
SCRIPT=$(readlink -nf myscript.sh)
... 或者您可以使用 git rev-parse --show-toplevel
获取工作目录的绝对路径:
SCRIPT=$(git rev-parse --show-toplevel)/myscript.sh
1 ... 但请注意,这对其他一些钩子(Hook)来说并非如此,例如在非裸存储库的 post-receive
Hook 中,当前工作目录是 .git
目录。
关于git - 如何在提交后的钩子(Hook)脚本中获取项目路径?(git),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5248587/