如何使用 Husky 预提交挂钩访问提交消息?

Pot*_*oes 5 git pre-commit pre-commit-hook husky git-husky

我的哈士奇脚本:

  "husky": {
    "hooks": {
      "pre-commit": "sh ./tools/githooks/pre-commit.sh"
    }
  }
Run Code Online (Sandbox Code Playgroud)

假设我正在做一个git commit -m "I want that text". 如何在 shell 脚本中访问我的提交消息?我试图在 shell 脚本中回显 $HUSKY_GIT_PARAMS 和 $HUSKY_GIT_STDIN 但没有成功

Von*_*onC 10

预提交挂钩不会访问提交消息,因为该挂钩是在提交创建之前触发的。

commit-msg 钩子是用于检查提交消息内容的右钩子。

2019年与哈士奇一起上市

"commit-msg": "echo $HUSKY_GIT_PARAMS"
Run Code Online (Sandbox Code Playgroud)

2020年更新,如galethil评论

HUSKY_GIT_PARAMS在版本 5 中被删除。
相反,Git 参数应该直接在脚本中使用(例如$1


请注意,自 2019 年以来,提交 c4e1ed1(2020 年 12 月,Husky v5.0.5)提到:

先前的HUSKY_GIT_PARAMS环境变量被本机 params 、等替换。$1$2

  • `HUSKY_GIT_PARAMS` 在版本 5 中被删除。相反,Git 参数应该直接在脚本中使用(例如 $1)。 (4认同)
  • @galethil 感谢您的更新。我已将您的评论包含在答案中以获得更多可见性。 (2认同)