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

Github推送报错unknown shorthand flag: 't' in -t 如何定位问题来源

报错来源

该unknown shorthand flag: 't' in -t不属于git push的原生报错,是推送流程触发的本地pre-push钩子执行时抛出的。三类客户端推送均报错的表现也可以验证该结论:所有标准git客户端执行推送操作前,都会默认调用当前仓库配置的pre-push钩子脚本,和客户端本身无关。

-t参数的可能位置

按优先级依次排查即可定位:

  • 首先检查本地仓库的原生钩子文件:打开.git/hooks/pre-push文件,逐行核对所有执行命令,是否存在误写的-t参数,尤其注意docker、docker-compose相关语句。
  • 如果你项目接入了husky、lefthook这类钩子管理工具,额外检查项目根目录下的钩子配置(如.husky/pre-push、lefthook.yml),看推送前置校验步骤里的命令是否携带错误的-t参数。
  • 执行git config --list | grep push检查git配置,确认没有给push命令设置异常别名、默认参数,git原生push指令没有-t参数,若存在类似push = push -t的配置会直接触发该报错。
  • 你提到的docker-compose exec -T laravel.test php artisan test是适配非交互式环境的正确写法,如果钩子中调用该命令时误把-T写为-t、或是漏加-T,docker-compose在无TTY的钩子运行环境下执行就会抛出参数错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 21:48:02