如何使用Husky创建预提交和预推送给GIT hooks?

作者 : IT 大叔 本文共975个字,预计阅读时间需要3分钟 发布时间: 2020-09-19

在创建提交或将更改推送到远程存储库之前,我们可以自动执行“执行任务”。这很棒,因为它减少了编码时的认知负担,这意味着更少的压力和更多的注意力。有些人在本地使用git hook来美化代码和/或运行linter。

如果您将git用作版本控制,则可能知道(或可能不知道,这没关系),它具有一些隐藏在.git文件夹中的本机钩子。您可以通过ls .git/hooks/在项目的根目录中运行来进行检查。如果这样做,您将看到一些.sample文件。

如何使用git hooks

在Node环境中本地使用git hooks的最简单方法是使用名为husky的库。它以较小的配置为我们处理git hooks!

如何使用赫斯基创建预提交或预推送?

用法很简单。我们只需要安装软件包并将一些配置添加到package.json中即可。没有其他的!

要求

Husky已安装软件包,Node版本>=10和Git版本>= 2.13.0

如何安装赫斯基

Husky仅安装用于dev环境,因为这不是生产要求。您可以通过执行以下代码行来安装它:

npm install husky --save-dev

在package.json中添加所需的配置

您应该在项目的根目录中有一个package.json。打开它,然后Husky在JSON的根目录中添加配置。

在这个项目中,我只在pre-commitand pre-pushgit钩子中添加了测试的执行,但是您可以添加lint规则,格式或任何您喜欢的东西。现在,每次我尝试执行git commit或执行git push测试时。below以下示例:

如何使用Husky创建预提交和预推送给GIT hooks?插图

如何使用pre-commit或pre-push git钩子?

除了创建提交,您不需要做任何特殊的事情!通过运行尝试一下:

git commit -m "Finally I'm executing tests on each commit"

如何使用Husky创建预提交和预推送给GIT hooks?插图(2)

您会遇到什么问题

如您在此线程中看到的,某些人(包括我在内)在安装之后无法使钩子正常工作Husky。要解决这个问题,您只需要删除git hooks文件夹,卸载Husky并重新安装即可。您可以通过运行以下命令进行操作:

rm -rf .git/hooks/
npm uninstall husky
npm install --save-dev husky

在那之后,应该一切正常,并且测试,lint或您配置的任何内容都应在下一个git commit中执行。

免责声明:
1. 本站资源转自互联网,源码资源分享仅供交流学习,下载后切勿用于商业用途,否则开发者追究责任与本站无关!
2. 本站使用「署名 4.0 国际」创作协议,可自由转载、引用,但需署名原版权作者且注明文章出处
3. 未登录无法下载,登录使用金币下载所有资源。
IT小站 » 如何使用Husky创建预提交和预推送给GIT hooks?

常见问题FAQ

没有金币/金币不足 怎么办?
本站已开通每日签到送金币,每日签到赠送五枚金币,金币可累积。
所有资源普通会员都能下载吗?
本站所有资源普通会员都可以下载,需要消耗金币下载的白金会员资源,通过每日签到,即可获取免费金币,金币可累积使用。

发表评论