关于 GitHub Desktop 中的 Git 挂钩
Git 挂钩是在 Git 工作流的特定点(例如提交、推送或合并前后)自动运行的脚本。 它们可用于强制实施代码质量标准、运行测试或执行其他自动化任务。
GitHub Desktop 会在已配置的 shell 环境中运行 Git 钩子。 挂钩可以访问与从命令行运行 Git 时相同的环境变量和工具。 这意味着依赖版本管理器(如 nvm 或 rbenv)安装的工具或依赖 shell 配置文件(如 .bash_profile 或 .zshrc)的钩子将能正常工作。
挂钩输出在 GitHub Desktop UI 中实时显示,并保留终端颜色和格式,因此可以轻松读取和调试挂钩的输出。
绕过提交挂钩
如果要在不运行 pre-commit 或 commit-msg 钩子的情况下进行提交,可以直接从 GitHub Desktop 中跳过它们。 这相当于在命令行上使用 git commit --no-verify。
可以在提交之前或挂钩失败后抢先绕过挂钩。
在提交之前绕过挂钩
- 在“更改”选项卡中,编写提交消息。
- 在提交消息字段旁边,单击 。
- 选择 “绕过提交挂钩”。
- 单击提交到 BRANCH。
绕过失败的挂钩
如果提交挂钩失败,GitHub Desktop 将显示挂钩的输出,并为你提供绕过失败挂钩并继续提交的选项。
- 查看 GitHub Desktop 显示的钩子输出。
- 若要继续提交,尽管失败,请单击“ 提交”。
警告
绕过提交挂钩会覆盖团队可能依赖的质量和安全检查。 只有当你理解其中的含义时,才能绕过挂钩。
延伸阅读
- 在 GitHub Desktop 中提交并审查对项目的更改
-
官方 Git 参考中的 [Git 挂钩文档](https://git-scm.com/docs/githooks)