如何在Windows中用Node.js创建git钩子?

问题描述 投票:0回答:1

我一直在关注 这个 指南中介绍了如何使用Node.js来编写git钩子脚本。然而,该指南使用的是基于Unix的系统,而我是在Windows机器上运行。

我还发现 这个 关于在Windows机器上运行git钩子的指南,但它没有使用Node.js。

  • 我正在运行一个 预装 脚本来设置一个自定义的git钩子位置。
  • 我使用VSCode作为我的编辑器,希望git钩子能在我使用用户界面提交时运行。然而,我一开始使用命令行来尝试让钩子启动。

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钩子的过程。我宁愿自己创建一个,而不是使用一个包。

node.js git githooks
1个回答
2
投票
  1. 准确地命名钩子 pre-commit,没有 .js.

  2. 将第一行改为 #!/usr/bin/env node. 但要确保 C:/Program\ Files/nodejs/node.exe 已被添加到环境变量 PATH.

  3. 放在 <repo>/.git/hooks.

  4. 使其可执行。在git-bash中,运行 chmod a+x <repo>/.git/hooks/pre-commit.

现在,它应该工作的预期。

© www.soinside.com 2019 - 2024. All rights reserved.