【发布时间】:2019-01-17 14:25:35
【问题描述】:
我已经编写了一个 pre-commit 钩子来编译我的项目并将生成的文件添加到提交中。
这是一个 JavaScript 项目,我正在使用 husky,但我也尝试过编辑 .git/hooks/pre-commit 并且文件没有添加到提交中。如果我取消提交,我可以看到文件已添加,但由于某种原因,这不适用于当前提交。
我的预提交钩子看起来像:
const shell = require('shelljs');
shell.exec('yarn bundle');
shell.exec('git add dist');
shell.exit(0);
shelljs 只是一个在 node 中执行跨操作系统 unix 命令的库
我编辑了.git/hooks/pre-commit 以运行git add dist,但该文件仍未添加到提交中
【问题讨论】:
-
钩子真的执行了吗?它需要设置可执行位,如果不存在则可能会被忽略。不用shelljs也检查一下,直接调用
git add dist -
钩子肯定被执行了,是的,我确实尝试运行
git add dist,但它仍然没有工作
标签: git pre-commit-hook git-husky