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

pre-push钩子未执行求助:代码推送未触发预设检查

解决Git pre-push钩子未触发的问题

以下是针对pre-push钩子未执行ktlint检查的排查和修复步骤:

  • 检查钩子文件权限
    Git钩子必须具备执行权限才能被触发。进入项目的.git/hooks目录,执行命令添加权限:

    chmod +x pre-push
    
  • 验证脚本开头的shebang
    脚本第一行必须指定正确的解释器,比如Bash脚本开头需写:

    #!/bin/bash
    

    若脚本调用Gradle,确保解释器路径无拼写错误。

  • 确认钩子文件名
    文件名必须是pre-push,不能带后缀(如pre-push.sh),Git仅识别无后缀的钩子文件。

  • 手动测试钩子脚本
    直接在终端运行钩子脚本,排查是否能正常触发检查:

    ./.git/hooks/pre-push
    

    若运行报错,根据错误信息修复脚本(如Gradle命令路径错误、脚本逻辑问题)。

  • 检查钩子目录路径
    确保钩子文件放在项目根目录的.git/hooks下,而非全局Git配置的~/.git/hooks目录,项目级钩子仅对当前项目生效。

  • 排查Git钩子路径配置
    检查是否设置了core.hooksPath覆盖默认钩子目录:

    git config core.hooksPath
    

    若输出非.git/hooks的路径,将钩子移至该路径,或重置配置:

    git config --unset core.hooksPath
    
  • 检查脚本条件逻辑
    查看pre-push脚本内是否有分支判断、提交信息过滤等条件,导致当前推送场景被跳过检查。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 20:09:49