https:/github.comtypicodehusky。 有能力自动运行git钩子,使它们可以在仓库中的teems之间共享。
这怎么能行呢?由于钩子需要保持在 .git/hooks
没有被添加到存储库的
它是否包裹着 git
命令和拦截命令,当它们发生时运行钩子?
我想为python和php项目重现这种行为,而不需要依赖npm或node。
当 husky 的依赖关系被安装时(通过 npm install
, npm add husky
, yarn install
...)git钩子会在.githooks目录下创建更新。如果钩子是通过git命令触发的,那么husky的脚本就会被触发,它将根据你安装时使用的包管理器来执行命令。如果你使用npm npx --no-install husky-run $hookName "$gitParams"
被执行。该命令会查看你的配置,并执行为钩子定义的命令。
它就像 git 钩子的代理。这个代理被安装一次,每次都会被普通的 git 钩子执行。如果它被执行,它就会查看配置并执行那里定义的命令。