无需登录 数据私有 本地保存

Git Hooks 脚本生成器 - 自动创建 pre-commit/post-commit 等

19
0
0
0

Git Hooks 脚本生成器

可视化配置并自动生成 pre-commit、commit-msg、pre-push 等 Git Hooks 脚本,支持代码检查、格式化、测试、分支保护等常见场景。

选择 Hook 类型
pre-commit
提交前检查
commit-msg
提交信息规范
pre-push
推送前检查
post-commit
提交后通知
post-checkout
切换分支后
post-merge
合并后执行
prepare-msg
准备提交信息
pre-rebase
Rebase前
快速预设
功能配置
运行 ESLint / Flake8 等检查工具
运行 Prettier / Black 检查格式
提交前运行相关测试用例
检测 console.log / debugger 等
限制直接提交到 main/master
检测遗留的 TODO 注释并警告
自动运行格式化修复(pre-commit)
检测 API Key / 密码等敏感内容
每行一个命令,将按顺序执行
脚本设置
脚本预览
0 行
// 请选择 Hook 类型和配置选项...
cp pre-commit .git/hooks/pre-commit && chmod +x .git/hooks/pre-commit
常见问题与知识点
什么是 Git Hooks?它们有什么作用?
Git Hooks 是 Git 提供的钩子机制,允许在特定 Git 操作(如 commit、push、merge)前后自动执行自定义脚本。它们存储在 .git/hooks/ 目录下,可以帮助团队强制执行代码规范、运行自动化测试、检查提交信息格式等,是保障代码质量的重要工具。
pre-commit 和 commit-msg 有什么区别?
pre-commit 在提交信息被输入之前运行,主要用于检查代码内容(如 lint、格式化、测试)。如果脚本返回非零退出码,提交将被阻止。
commit-msg 在用户输入提交信息后运行,用于验证提交信息的格式是否符合规范(如 Conventional Commits 格式)。它接收提交信息文件路径作为参数。
如何将生成的脚本安装到项目中?
将生成的脚本复制到项目的 .git/hooks/ 目录下,并确保文件名与 hook 类型一致(如 pre-commit),然后赋予执行权限:
cp 脚本文件 .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit
也可以使用 Husky(Node.js 生态)或 pre-commit 框架来管理 hooks。
Git Hooks 可以在团队中共享吗?
默认情况下 .git/hooks/ 目录不会被 Git 跟踪,因此无法直接共享。推荐做法是:将 hooks 脚本放在项目目录(如 scripts/git-hooks/)中,然后通过 Makefile、npm scripts 或 Husky 等工具在项目初始化时自动安装。本工具生成的脚本可以方便地纳入版本管理。
如何绕过 Git Hook 的检查?
可以使用 git commit --no-verifygit push --no-verify 来跳过 hook 检查。但这应该仅在特殊情况下使用(如紧急修复),不建议作为常规操作。团队可以通过 CI/CD 在服务端再次检查来防止绕过。
生成的脚本支持哪些操作系统?
Bash 脚本适用于 Linux、macOS 以及 Windows 上的 Git Bash 环境。PowerShell 脚本适用于 Windows 系统。本工具支持两种格式的输出,您可以根据团队环境选择。大多数 CI/CD 和开发环境都能良好兼容 Bash 格式。
Conventional Commits 规范是什么?
Conventional Commits 是一种提交信息规范,格式为:type(scope): description,常见 type 包括 feat、fix、docs、style、refactor、test、chore 等。使用该规范有助于自动生成 CHANGELOG 和语义化版本管理。本工具的 commit-msg hook 支持检查此格式。