如何仅在推送到某个远程的某个分支时运行 husky pre-push hook?

问题描述

假设我正在使用多个遥控器:

$ git remote -v
origin  https://github.com/ettie62/Quicke(fetch)
origin  https://github.com/ettie62/Quicke(push)
public  https://github.com/roslyn80/Quicke(fetch)
public  https://github.com/roslyn80/Quicke(push)

每个遥控器都有多个分支:

$ git branch -a
* master
  refactor
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/refactor
  remotes/public/dev
  remotes/public/master

如何仅在尝试推送到某个远程的某个分支时运行以下 pre-push 钩子,例如public/master,但在按下 origin/master 时不要运行它:

"husky": {
  "hooks": {
    "pre-push": "CI=true npm test"
  }
},

解决方法

那个钩子很可能会在每个分支上运行,所以你应该调用一个脚本来:

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...