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

树莓派Git服务器推送卡在“Total ...”行后无响应问题求助

解决Raspbian Stretch下Git服务器推送卡住的问题

嘿,我之前也碰到过几乎一模一样的情况——重装Raspbian Stretch后,Git服务器能正常克隆,但推送就卡在Total 3 (delta 0), reused 0 (delta 0)这行不动。大概率是SSH连接、权限或者配置的小问题,咱们一步步排查解决:

  • 先排查SSH连接稳定性
    推送卡住很多时候是SSH会话超时或者缓冲区出了问题。你可以先在本地开个持续的SSH输出测试:

    ssh your_raspi_user@raspi_ip 'while true; do echo "SSH keepalive test"; sleep 2; done'
    

    如果这个输出中途突然中断,说明网络或者SSH服务的配置有问题。这时去树莓派上修改/etc/ssh/sshd_config,添加或调整这几个参数:

    ClientAliveInterval 20
    ClientAliveCountMax 3
    TCPKeepAlive yes
    

    改完后重启SSH服务:sudo systemctl restart sshd,再测试推送试试。

  • 检查Git仓库的文件权限
    重装系统后,新创建的Git仓库权限很可能不对,导致推送时无法写入数据。登录树莓派,进入你的Git仓库目录(比如/home/your_user/repo.git),查看权限:

    ls -la /path/to/your/repo.git
    

    要确保仓库的所有者和组是你用来SSH登录的用户,或者是专门的Git用户。如果权限混乱,用下面的命令修正:

    sudo chown -R your_user:your_user /path/to/your/repo.git
    sudo chmod -R 755 /path/to/your/repo.git
    

    尤其是裸仓库的objects、hooks这些子目录,权限一定要正确,不然无法写入新的提交对象。

  • 检查post-receive钩子(如果之前用过)
    如果你之前的Git服务器配置过post-receive钩子脚本,重装后可能没恢复,或者脚本权限不对,导致推送时卡在钩子执行环节。进入仓库的hooks目录看看:

    ls -la /path/to/your/repo.git/hooks/
    

    如果有post-receive文件,先确保它的权限是可执行(chmod +x post-receive),然后打开脚本看看有没有死循环、等待用户输入的逻辑——这些都会导致推送卡住。

  • 开启Git推送的详细日志
    在本地执行推送时加上-v参数,能看到详细的执行过程,帮你精准定位卡在哪一步:

    git push -v origin master
    

    如果日志显示卡在数据传输阶段,那重点排查SSH和网络;如果卡在服务器端的操作,那就是权限或者钩子的问题。

  • 最后检查磁盘空间
    虽然概率不高,但还是确认下树莓派的SD卡有没有满——磁盘空间不足也会导致推送失败:

    df -h
    

    如果根目录使用率接近100%,清理一下无用的日志、临时文件再试试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:39:36