我一直在关注 这个 指南中介绍了如何使用Node.js来编写git钩子脚本。然而,该指南使用的是基于Unix的系统,而我是在Windows机器上运行。
我还发现 这个 关于在Windows机器上运行git钩子的指南,但它没有使用Node.js。
package.json摘录
"scripts": {
"preinstall": "git config core.hooksPath ./git.hooks"
},
在我 git.hooks
文件夹我有一个 pre-commit.js
文件。
我更新了第一行,以反映出我想执行运行Node.js的脚本的事实
预提交.js
#!C:/Program\ Files/nodejs/node.exe
console.log('Hello world!');
process.exit(1);
如果我直接运行这个脚本,我得到一个Microsoft JScript编译错误--无效字符在第1行char 1。
如果我进行提交,我没有得到任何错误,但什么都没有发生。
谁能指导我在Windows中创建Node.js钩子的过程。我宁愿自己创建一个,而不是使用一个包。
准确地命名钩子 pre-commit
,没有 .js
.
将第一行改为 #!/usr/bin/env node
. 但要确保 C:/Program\ Files/nodejs/node.exe
已被添加到环境变量 PATH
.
放在 <repo>/.git/hooks
.
使其可执行。在git-bash中,运行 chmod a+x <repo>/.git/hooks/pre-commit
.
现在,它应该工作的预期。