You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac系统下Git pre-commit hooks无法触发问题求助

Git Pre-Commit Hook 无法运行排查方案
  • 确认钩子文件名完全匹配:Git的pre-commit钩子必须严格命名为pre-commit,你当前的脚本名为message-test,这是核心问题——Git只会触发与事件同名的钩子脚本,重命名脚本为pre-commit后再测试。
  • 检查脚本shebang行:Mac系统下的shell脚本必须在第一行指定解释器,比如添加#!/bin/bash或#!/usr/bin/env bash,缺少这一行会导致系统无法识别执行方式,即使权限正确也会静默失败。
  • 手动验证脚本可执行性:在项目根目录直接运行.git/hooks/pre-commit(改名后),确认能正常输出Hello world。如果手动运行无输出,检查脚本内容是否有语法错误,或输出是否被意外重定向。
  • 确认钩子路径配置生效:执行git config --get core.hooksPath,确保输出为.git/hooks;同时执行git config --global --get core.hooksPath,若存在全局配置会覆盖本地设置,可通过git config --global --unset core.hooksPath清空全局配置。
  • 确保触发正确的Git操作:pre-commit钩子仅在git commit阶段触发,git add操作不会触发钩子,需要执行完整的提交命令(如git commit -m "test commit")来测试。
  • 核对脚本权限细节:执行ls -la .git/hooks/pre-commit,确认权限位为-rwxr-xr-x(用户、组、其他均拥有执行权限),若权限不符,用chmod +x .git/hooks/pre-commit重新设置。

内容的提问来源于stack exchange,提问作者LizCiraG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 22:22:35