如何使用Node.js在Windows中创建git挂钩?
我一直在遵循关于如何使用Node.js编写git钩子脚本的指南。但是,当我在Windows计算机上运行时,本指南使用的是基于Unix的系统 我还找到了在Windows机器上运行git钩子的指南,但它没有使用Node.js如何使用Node.js在Windows中创建git挂钩?,node.js,git,githooks,Node.js,Git,Githooks,我一直在遵循关于如何使用Node.js编写git钩子脚本的指南。但是,当我在Windows计算机上运行时,本指南使用的是基于Unix的系统 我还找到了在Windows机器上运行git钩子的指南,但它没有使用Node.js 我正在package.json文件中运行一个脚本来设置自定义git钩子位置 我使用VSCode作为编辑器,希望在使用UI进行提交等操作时运行git钩子。不过,我最初使用命令行尝试启动钩子 package.json摘录 "scripts": { "preinsta
- 我正在package.json文件中运行一个脚本来设置自定义git钩子位置
- 我使用VSCode作为编辑器,希望在使用UI进行提交等操作时运行git钩子。不过,我最初使用命令行尝试启动钩子
"scripts": {
"preinstall": "git config core.hooksPath ./git.hooks"
},
在我的git.hooks
文件夹中,我有一个pre-commit.js
文件
我已经更新了第一行,以反映我希望执行运行Node.js的脚本的事实
pre-commit.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节点
。但请确保已将C:/Program\Files/nodejs/node.exe
添加到环境变量PATH
/.git/hooks
中chmoda+x/.git/hooks/pre-commit
pre-commit
,不使用.js
#/usr/bin/env节点
。但请确保已将C:/Program\Files/nodejs/node.exe
添加到环境变量PATH
/.git/hooks
中chmoda+x/.git/hooks/pre-commit
现在,它应该可以像预期的那样工作。即使在Powershell中也可以工作。我不知道我是否明白为什么?Powershell如何解释第一行?@Antfish我不太清楚。我认为它最终是在git bash环境中解释的,所以无论您是在cmd、powershell、git bash还是gui工具中运行
git commit
,这都无关紧要。我不知道我是否明白为什么?Powershell如何解释第一行?@Antfish我不太清楚。我认为它最终是在git bash环境中解释的,所以无论您是在cmd、powershell、git bash还是gui工具中运行git commit
。