在 "npm version" 命令中跳过预提交挂钩

Skip pre-commit hook in "npm version" command

npm version 将更改提交给 package.json 并创建一个标签。有没有办法防止在使用此命令时执行提交挂钩?

根据 npm cli docs,您可以使用

跳过 git 标签的生成
npm --no-git-tag-version version

不知道为什么这个功能以前在 npm 中不存在,但我不久前贡献了它,因为我自己需要它。它附带 npm@5.4.0。要使用它,请在 .npmrc 中设置配置选项 commit-hooks = false 并且在创建版本提交时,底层 git 调用将不会 运行 提交挂钩。如果您只想在单个版本控制上禁用提交挂钩,您可以 运行 类似于:

npm version --no-commit-hooks minor

或者:

npm version --commit-hooks false minor

来自docs

commit-hooks

  • Default: true
  • Type: Boolean

Run git commit hooks when using the npm version command.

如果你只是想允许这一次运行 关注

npm version --no-commit-hooks patch|minor|major

要永久控制它,运行以下命令

npm config set commit-hooks false

或者将此行添加到您的 .npmrc 文件

commit-hooks=false

我尝试了以上所有解决方案,对我没有任何效果。

下面的命令运行良好。

git commit -m "message" --no-verify

如果您正在寻找没有标签和没有提交而只是增量,那么以下内容在 Git 存储库中对我有用。 (根据您的用例用主要或次要替换补丁)

npm --no-git-tag-version version patch