Git钩子pre-push无法工作

7

在git hook文件夹内,我有一个pre push文件,在其中运行“npm run coverage”,即单位测试覆盖的命令。

git-hook > pre-push > npm run coverage

但它没有起作用,有人能帮帮我吗?


你检查了 pre-push 文件的权限吗?执行位必须设置... - Fabien Bouleau
3个回答

9
  1. 请检查文件名是否为pre-push(不是pre-push.sh,不是pre-push.py,确切地说是pre-push,没有文件扩展名)。
  2. 请检查它是否在.git/hooks/中。如果您已经在配置中设置了core.hooksPath=xxx,请确保它位于目录xxx下。
  3. 请检查它是否可执行。
  4. 请检查运行pre-push的用户是否也有运行npm run coverage的权限。

3

请检查.git/hooks文件夹。如果为空,请尝试卸载husky并重新安装。我的sh历史记录

 ls .git/hooks
 npm uninstall husky
 npm i husky -D
 ls .git/hooks

它帮助了我。


-1
针对您的简短描述,我无法找到原因。但您可以尝试使用huskyghookshuskyghooks提供git hooks,例如precommitprepush
//husky
{
  "scripts": {
    "precommit": "npm test",
    "prepush": "npm run coverage",
    "...": "..."
  }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接