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

macOS 12.0.1下Git 2.33.1执行git push无报错卡住问题求助

终止当前进程

首先按Ctrl + C终止卡住的git push进程,该操作不会损坏本地仓库数据,也不会影响远程仓库已接收的对象。

排查步骤

1. 连通性与网络配置校验

  • 执行git remote -v确认远程仓库地址配置无误
  • 若使用SSH协议连接远程仓库,执行ssh -T git@<远程仓库域名,例如github.com>测试SSH连接可用性;若使用HTTPS协议,执行curl -v https://<远程仓库域名>测试连接
  • 检查Git代理配置:执行git config --get http.proxy、git config --get https.proxy,确认代理配置与当前网络环境匹配。若存在无效代理,执行git config --unset http.proxy、git config --unset https.proxy清除配置。
    注意:macOS Monterey存在默认SSH QoS配置异常的已知bug,若使用SSH协议,可在~/.ssh/config文件中对应仓库域名的配置块下新增IPQoS=throughput,解决传输完成后连接挂起的问题

2. 本地仓库与版本兼容性校验

  • 执行git fsck检查本地Git对象完整性,确认无损坏对象导致传输阻塞
  • 执行以下命令检查是否存在误提交的大文件(即使你仅添加了小体积PNG,也可能意外提交了系统生成的缩略图缓存、隐藏文件):
git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5 | awk '{print$1}')"
  • 你使用的Git 2.33.1为2021年发布的旧版本,和macOS Monterey的文件系统API存在已知兼容问题,可通过brew install git升级到最新稳定版Git,排除版本兼容故障。

3. 定位阻塞点

执行GIT_TRACE=1 GIT_CURL_VERBOSE=1 git push开启Git调试模式,运行后会输出每一步的执行日志,可直接定位到具体阻塞环节(远程钩子校验、权限校验、网络握手等)。

替代推送方案

如果全量推送持续阻塞,可尝试增量推送:

  1. 执行git log --oneline -2查看超前的2个提交哈希
  2. 先推送第一个提交:git push origin <更早的提交哈希>:development
  3. 推送完成后再执行git push推送剩余提交

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 06:45:03