我想调用位于存储库中的脚本。
我当然可以做以下事情:
#!/bin/sh
../../myscript.sh
但我认为那不好;)
那么如何在提交后脚本中获取我的项目路径?
我想调用位于存储库中的脚本。
我当然可以做以下事情:
#!/bin/sh
../../myscript.sh
但我认为那不好;)
那么如何在提交后脚本中获取我的项目路径?
当您处理非裸存储库时,post-commit
1挂钩将使用存储库工作树的当前工作目录运行。所以,你不需要../../
.
如果你想要脚本的完整路径,你总是可以这样做:
SCRIPT=$(readlink -nf myscript.sh)
...或者您可以使用git rev-parse --show-toplevel
获取工作目录的绝对路径:
SCRIPT=$(git rev-parse --show-toplevel)/myscript.sh
1 ...但请注意,其他一些钩子并非如此,例如在post-receive
非裸存储库中的钩子中,当前工作目录是该.git
目录。