Skip to main content

在 GitHub Desktop 中使用 Git hooks 进行操作

可以在 shell 环境中运行 Git 挂钩,并直接从 GitHub Desktop 绕过提交挂钩。

关于 GitHub Desktop 中的 Git 挂钩

Git 挂钩是在 Git 工作流的特定点(例如提交、推送或合并前后)自动运行的脚本。 它们可用于强制实施代码质量标准、运行测试或执行其他自动化任务。

GitHub Desktop 会在已配置的 shell 环境中运行 Git 钩子。 挂钩可以访问与从命令行运行 Git 时相同的环境变量和工具。 这意味着依赖版本管理器(如 nvmrbenv)安装的工具或依赖 shell 配置文件(如 .bash_profile.zshrc)的钩子将能正常工作。

挂钩输出在 GitHub Desktop UI 中实时显示,并保留终端颜色和格式,因此可以轻松读取和调试挂钩的输出。

绕过提交挂钩

如果要在不运行 pre-commit 或 commit-msg 钩子的情况下进行提交,可以直接从 GitHub Desktop 中跳过它们。 这相当于在命令行上使用 git commit --no-verify

可以在提交之前或挂钩失败后抢先绕过挂钩。

在提交之前绕过挂钩

  1. 在“更改”选项卡中,编写提交消息。
  2. 在提交消息字段旁边,单击
  3. 选择 “绕过提交挂钩”
  4. 单击提交到 BRANCH

绕过失败的挂钩

如果提交挂钩失败,GitHub Desktop 将显示挂钩的输出,并为你提供绕过失败挂钩并继续提交的选项。

  1. 查看 GitHub Desktop 显示的钩子输出。
  2. 若要继续提交,尽管失败,请单击“ 提交”。

警告

绕过提交挂钩会覆盖团队可能依赖的质量和安全检查。 只有当你理解其中的含义时,才能绕过挂钩。

延伸阅读