﻿---
url: 'https://docs.soybeanjs.cn/zh/guide/cli/git-hooks.md'
---
# Git Hooks

## 写在前面

> 大部份用JS写的代码，都是习惯于用运行时去判断代码有没有问题
>
> 比如用JS开发对接后端是这么一个流程，等接口好了后，调接口，拿到数据，再想办法把数据塞到页面里面
>
> 如果说是非常简单的页面，这个流程看上去是没啥毛病，如果是稍微复杂点的，这种流程写出来的代码就成了💩山的地基了，后期各种问题的排查就很头痛了

TypeScript是能写出高质量代码的一大利器，定义数据类型的过程就是在定义前端数据模型的过程，一旦数据模型确定了，关于数据模型的各种操作都可以用纯函数来实现， 然后，将数据结合响应式时，只需要把对应的纯函数引进来做个简单的二次封装即可，大部份人不适应TS的类型，主要是开发模式没有切换，可以尝试使用这个模式进行几段开发体验TypeScript的魅力,然后再决定是否移除 `git-hooks`。

使用 `git-hooks` 作提交前校验，不但有助于提升自己的代码水平、降低项目的维护成本，更有助于自己去接手他人的代码，在诸多好处下为数不多的坏处仅在于一小段时间的学习（SoybeanAdmin项目内的类型覆盖率100%，皆为最佳实践，也是您上手TypeScript的最佳时机）与适应，您可以尝试一小段时间（欢迎随时在交流群中与我们讨论）后再决定是否移除 `git-hooks`。

## 移除git-hooks

::: details 方式一：临时关闭校验
建议初期尽可能完全遵循完善的类型校验，仅在有需要时通过临时取消提交校验的方式略微跳过几次。

```shell
git add .

git commit -m "commit message" # [!code --]
git commit -m "commit message" --no-verify # [!code ++]

git push
```

:::

::: details 方式二：永久关闭校验

> \[!CAUTION] 不推荐
> 1、把 `package.json` 的 `simple-git-hooks` 里面的命令删掉
>
> 2、执行 `simple-git-hooks` 命令
>
> :::
