问题:显然 .git/hooks 目录中的脚本依赖于匹配以下之一的文件名:
post-commit
pre-commit
pre-rebase
等...
不需要“文件扩展名”的概念,因为“shebang 行”指示文件应该如何运行,只要它是可执行的并在您的 Linux 机器上运行即可。
问题是当您有一些要在 Windows 机器上运行的脚本时。
问题:有没有办法在Windows机器上执行可以理解的钩子(Hook)脚本?
最佳答案
我知道我在这方面落后很多,但我为您提供了解决方案。如果您使用的是 python,请将“.py”添加到 PATHEXT 环境变量(控制面板、系统、高级、环境变量)。对于您的特定脚本语言也是如此。然后将钩子(Hook)命名为 post-commit.py、pre-commit.py 等。当程序要求 Windows 执行某个目录中的“post-commit”文件时,Windows 将按顺序查找 PATHEXT,直到找到匹配的文件“post-commit.extension”,然后它将执行。很久以前,我在 Windows 上使用 svn hooks 做到了这一点。
关于git - 是否有针对全功能跨平台 shebang 系列的 hack?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2296921/