
很棒的 Git 钩子
Awesome Git Hooks¶
> :anchor:易于使用的 git 钩子,用于在 git 工作流程中自动执行任务.
Git 挂钩是自定义脚本,可用于自动执行在执行 git 命令之前或之后触发的任务. 这些挂钩有两组:客户端和服务器端. 客户端挂钩由提交和合并等操作触发,而服务器端挂钩运行在网络操作上,例如接收推送的提交. 这个 repo 包含有用的资源以及各种可以轻松定制以满足不同目的的 git hook 脚本.
无需安装/下载
:heavy_check_mark:代码有据可查
拿走! 复制您要使用的代码并粘贴到您的 .git/hooks 文件夹中
always 欢迎投稿! 请看我们 Contribution Guidelines . 另外,如果你在下面找不到你想要的脚本,你可以 create a new issue 请求它.
Git Hook Scripts¶
注意:每个脚本旁边的图标表示它是用什么语言编写的.
| 图标 | 语言 |
|---|---|
庆典 |
|
蟒蛇 |
|
perl |
commit-msg¶
- enforce-insert-issue-number - Make sure user did not delete the ISSUE-[#] string that was generated by prepare-commit-msg/insert-issue-number.hook.

post-checkout¶
- delete-pyc-files - 每次签出新分支时删除所有 .pyc 文件.

- new-branch-alert - 首次签出新分支时显示消息.

post-update¶
- update-server-info - 准备一个打包的存储库以用于哑传输(例如 http).

pre-commit¶
- format-code - 运行命令格式化代码并重新添加格式化后修改的任何文件.

- search-term - 如果在代码中找到特定术语,则提交失败.

- spell-check-md-files - 检查扩展名为 .md 的文件是否存在拼写错误.

- verify-name-and-email - 如果 user.name 或 user.email 不正确,提交失败.

prepare-commit-msg¶
- include-git-diff-name-status - 将“git diff --name-status -r”的输出包含在消息中,就在“git status”输出之前.

- insert-issue-number - 将问题编号插入提交消息的开头.

pre-push¶
- prevent-bad-push - 防止推送日志消息以“WIP”(正在进行的工作)开头的提交.

pre-rebase¶
- prevent-rebase - 防止已经合并到“下一个”分支的主题分支变基,因为允许它会导致变基已经发布的历史.

query-watchman¶
- fsmonitor-watchman - 将自给定时间以来已修改的所有文件输出到标准输出.

update¶
- update - 阻止未注释的标签进入.

Quick Start¶
1.选一个钩子,任何钩子! 如果您不确定从哪里开始,请尝试“验证姓名和电子邮件”. 2. 导航到项目的 hooks 文件夹 (.git/hooks). 3. 您应该会看到其中已有的文件列表. 创建一个名为您要使用的确切提交类型的新文件(例如:“commit-msg”、“pre-rebase”、“pre-commit”等). 不要给它延期.

- 打开你的新文件并粘贴你从这个 repo 中选择的钩子中的代码(例如: verify-name-and-email.hook).
- 保存文件. 完毕! 现在 git 钩子将自动触发.
Tools¶
-
Husky - 使用漂亮的用户界面管理 git hooks.
-
Overcommit - 一个完全可配置和可扩展的 git hook 管理器.
-
Git Build Hook Maven Plugin - 在 Maven 构建期间安装 Git 挂钩和配置.
-
CaptainHook - PHP 开发人员的 Git 挂钩管理器.
-
pre-commit - 用于管理和维护多语言预提交挂钩的框架.
Written Guides¶
Video Guides¶
License¶
本作品根据Creative Commons Attribution 1.0 International License获得许可.
