<强>问题:显然是在git的脚本/钩目录取决于的文件名匹配之一:

post-commit
pre-commit
pre-rebase

等...

是必需的“文件扩展名”中没有概念,因为“认领线”表示文件应该如何运行,只要它是可执行文件,并运行在Linux机器。

问题是,当你有一些脚本,要在Windows中运行。

问:有没有执行,可以在Windows机器上可以理解的钩子脚本的方式

有帮助吗?

解决方案

我不认为Windows有执行无扩展名的文件的概念。解决方法是:1)在bash下,使用Cygwin混帐在整个家当业务运作或2)在Windows Git版本一个黑客,实际上解析家当线本身并加载适当的解释。我能看到各种哲学反对后者,所以我想这是不会发生的......

其他提示

我知道我的背后在这条路上,但我对你的解决方案。如果你正在使用python,加上“py”为到PATHEXT环境变量(控制面板,系统,高级,环境变量)。同样地,对于特定的脚本语言。然后将其命名挂钩post-commit.py,pre-commit.py等。当一个程序要求Windows中执行“后提交”某目录下的文件,Windows会去翻PATHEXT为了直到它找到一个文件匹配“后commit.extension”,其将执行。我在Windows上SVN挂钩这样做是很久以前的事。

我实际选项3解决):

“包装”脚本创建一个Windows调用混帐的的调用任何关联的钩子,我想运行。缺点是我必须配置包装程序做什么,如果我能只使用钩标文件的git会自动完成。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top