# git-hook **Repository Path**: ksxy/git-hook ## Basic Information - **Project Name**: git-hook - **Description**: git-hook工具集合 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-10 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 工程说明 > 啥是Git-Hook? > 参阅[文档](https://git-scm.com/book/zh/v2/%E8%87%AA%E5%AE%9A%E4%B9%89-Git-Git-%E9%92%A9%E5%AD%90) 该工程尝试搭一个简单的git-hook框架, 这里使用`post-commit`这个hook点来进行说明, 在执行完`git commit`的动作后,git自动执行`hooks/post-commit`脚本, 在该脚本中将事件交给`hook_dispatcher`进行分发, `hook_dispatcher`根据配置文件`hooks_config.json`查找到`hooks_post_commit`目录下的功能脚本,依次执行. ## 使用说明 1. clone该项目, 并授予`apply_hooks.sh`和`hooks`目录下的脚本执行权限 ``` chmod u+x apply_hooks.sh chmod u+x -R hooks ``` 2. 到需要Git-Hook的工程下,执行`apply_hooks.sh`. 会将目标工程的`.git/hooks`连接到该工程的`hooks`. ``` # example ./ ├── git-hook │   ├── apply_hooks.sh │   ├── hooks │   ... │   └── README.md └── target_project ├── app ... cd target_project target_project# ../git-hook/apply_hooks.sh ``` 3. 关于配置文件解析 项目使用`jq`库来解析配置文件(`json`), `apply_hooks.sh`内置了 MacOs 和 Linux 的二进制文件的下载地址, 如果下载失败, 请手动安装或者下载到`hooks/tools`, 参阅[jq使用](https://stedolan.github.io/jq/) ## 目前支持的功能 ### post-commit - [x] 在commit之后询问是否push代码