【发布时间】:2017-10-20 00:38:02
【问题描述】:
npm version 将更改提交到 package.json 并创建一个标签。有没有办法防止在使用此命令时执行提交挂钩?
【问题讨论】:
标签: javascript git npm pre-commit-hook
npm version 将更改提交到 package.json 并创建一个标签。有没有办法防止在使用此命令时执行提交挂钩?
【问题讨论】:
标签: javascript git npm pre-commit-hook
不知道为什么这个功能之前在npm 中不存在,但我不久前贡献了它,因为我自己需要它。它附带npm@5.4.0。要使用它,请在您的.npmrc 中设置配置选项commit-hooks = false,并且在创建版本提交时,底层git 调用将不会运行提交挂钩。如果您只想在单个版本控制上禁用提交挂钩,您可以运行类似于:
npm version --no-commit-hooks minor
或者:
npm version --commit-hooks false minor
【讨论】:
--no- 为前缀的布尔标志,相当于将标志设置为 false。为了简洁起见,我选择展示这种形式。但是我添加了一个示例来演示其他命令形式以获得更大的完整性。
根据npm cli docs,您可以通过使用跳过生成 git 标签
npm --no-git-tag-version version
【讨论】:
git,这是正确的答案。使用--no-commit-hooks,当工作目录不干净时它会抱怨。
来自docs
提交挂钩
- 默认:真
- 类型:布尔值
在使用
npm version命令时运行 git commit 钩子。
如果您只是想允许这一次运行以下操作
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
【讨论】: