mirror of
https://github.com/NohamR/knowledge-kit.git
synced 2026-05-25 20:00:40 +00:00
docs: 反爬虫之防重放策略
This commit is contained in:
@@ -7,12 +7,14 @@
|
||||
|
||||
## 实现
|
||||
|
||||
可以马上想到的是利用 shell 结合 git hook 实现在 git commit 阶段检查输入是否符合规范。符合就通过,不符合就不通过,抛出警告信息,并给出提示信息。
|
||||
可以马上想到的是利用 shell 结合 git hook 实现在 git commit 阶段检查输入是否符合规范。符合就通过,不符合就终止,并给出提示信息。
|
||||
|
||||
|
||||
|
||||
|
||||
### 规范是什么
|
||||
|
||||
常见的分类有下面几种情况:
|
||||
常见的分类有下面几种:
|
||||
|
||||
- build:修改项目的的构建系统(xcodebuild、webpack、glup等)的提交
|
||||
- ci:修改项目的持续集成流程(Kenkins、Travis等)的提交
|
||||
@@ -28,6 +30,7 @@
|
||||
|
||||
|
||||
|
||||
|
||||
### 轮子
|
||||
|
||||
在 github 上有 [commitlint](https://github.com/conventional-changelog/commitlint) 这个项目,它可以很方便的在工程中做配置,并允许你自定义上面说的「规范」、「分类」。
|
||||
@@ -92,23 +95,18 @@
|
||||
```
|
||||
|
||||
|
||||
上面的流程配置完成,当你在提交 commit 信息的时候如果输入不符合 `<type>: <subject>` 规则,会给出提示信息。
|
||||
上面的流程配置完成,当你在提交 commit 信息的输入的内容,如果不符合 `<type>: <subject>` 规则,会终止并给出提示信息。
|
||||
|
||||
type 就是上面的种类;subject 就是需要提交的文字概括。比如:feature:增加摇一摇推荐酒店功能。
|
||||
|
||||
|
||||
小说明:
|
||||
- 如果某次提交想禁用 husky,可以添加参数 `--no-verify`
|
||||
```shell
|
||||
git commit --no-verify -m "xxx"
|
||||
```
|
||||
小说明:如果某次提交想禁用 husky,可以添加参数 **--no-verify**。`git commit --no-verify -m "xxx"`
|
||||
|
||||
|
||||
|
||||
|
||||
### 大体流程
|
||||
### 流程说明
|
||||
|
||||
安装包 husky 的时候,会在目录 `.git/hooks/` 下生成一堆 shell 脚本,负责 hook git 相关时机。
|
||||
安装包 husky 的时候,会在目录 `.git/hooks/` 下生成一堆 shell 脚本,负责 git 的 hook。
|
||||
|
||||
`"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"` 这个配置告诉 git hooks,当执行 `git commit -m` 的时候触发 commit-msg 钩子,并通知 husky,从而执行 `commitlint -E HUSKY_GIT_PARAMS`,实际上执行的是 `./node_modules/husky/bin/run.js`,读取 commitlint.config.js 里的配置,然后对我们 commit -m 里的字符串校验,如不通过则输出错误信息并终止。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user