我将husky和git-branch-is用于git hook。在我的package.json下面
{
"scripts": {
"test": "jest",
...
},
"husky": {
"hooks": {
"pre-commit": "git-branch-is master && npm test",
"pre-push": "git-branch-is master && npm test"
}
}
使用此选项从分支功能/ 802 提交时,我将收到以下错误消息
Error: Current branch is "feature/802", not "master".
问题
答案 0 :(得分:1)
使用if [ git-branch-is master]; then npm test; fi
。然后,返回失败(非零)退出值的测试git-branch-is master
将不被视为挂钩的终端失败。
如果挂钩需要在符合POSIX的外壳之外运行,这可能会引起问题。
答案 1 :(得分:0)
我检查分支不是主节点还是分支是主节点,并且测试成功。
"pre-push": "git-branch-is -r \"^((?!master).)*$\" || (git-branch-is master && npm test)"
答案 2 :(得分:0)
这对我有用。不需要git-branch-is
。
{
"hooks": {
"commit-msg": "if [[ $(git rev-parse --abbrev-ref HEAD) = develop ]]; then commitlint -E HUSKY_GIT_PARAMS; fi"
}
}