git - 是否有针对全功能跨平台 shebang 系列的 hack?

标签 git scripting shebang githooks

问题:显然 .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/

相关文章:

bash - 配置或库 shell 脚本是否需要 shebang?

javascript - 包含node_modules/文件夹以推送到 gh-pages 分支

git - 如何检查远程(源)Git 存储库上的更改

python - 从不同的类调用一个类中的函数

lua - {LUA} 如何在脚本中触发另一个脚本?

Python 的 shebang 评估为与控制台中使用的相同路径不同的 Python 版本

linux - 在/usr/bin/env 中设置环境变量在 Linux 上挂起进程

git - 推送或克隆存储库时 .gitignore 的隐私?

git - 我在池中撒尿 GIT 风格 - ftp'​​d 文件到 repo 现在 GIT 不同步

bash - 在 bash 脚本中区分 2 和 02