【问题标题】:Git push results in fatal: the remote end hung up unexpectedlygit push 导致致命:远程端意外挂断
【发布时间】:2012-07-07 18:51:32
【问题描述】:

我正在尝试在我的本地局域网上设置一个 git repo,并且到目前为止能够克隆、拉取、获取等。不幸的是,当我尝试推送时,它会导致

致命:远端意外挂断。

系统日志显示:

git-daemon[10090]: 'receive-pack': 服务未启用'./www-dev/aptwebsite.git'

经过一番研究,我认为我可以启用“receive-pack”,但我不知道如何。

当我尝试时:

git daemon --reuseaddr --base-path=. --export-all --verbose --enable=receive-pack

我明白了:

致命:无法在主机(空)端口 9418 上分配任何侦听套接字。

当我尝试时

git receive-pack <working directory>

我明白了:

007000000000000000000000000000000000000000000 能力^{}报告状态删除参考边带64k ofs-delta 0000^C

有什么建议吗?

【问题讨论】:

    标签: git


    【解决方案1】:

    如果人们使用 git-daemon 遇到“远程端意外挂断”,一些提示可能会有所帮助。

    1) Git "How to" documentation on git-daemon 表示“远程端挂断”消息是通用消息。您应该查看服务器日志以获取有关可能出现问题的更多信息。对于最初的设置,我还建议将 --informative-errors 切换到 git-daemon,这将对 git push 命令产生更有用的错误。

    2) 第二个问题是“无法在主机(空)端口 9418 上分配任何侦听套接字”。这是来自实现 git-daemon 的代码,即daemon.c。此代码有一个函数 socksetup(),当它在设置套接字时遇到问题时会生成此错误。换句话说:这是一个网络管道问题。确保没有其他守护程序在端口 9418 上运行。

    3) git receive-pack 不打算由最终用户运行。也就是说,如果“工作目录”是新初始化的 Git 存储库,则字符串“00700000000000000000000000000000000000000000 能力^{} report-status delete-refs side-band-64k ofs-delta”正是您会得到的。

    简而言之:检查来自 git-daemon 的日志,并注意网络管道。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-02
      • 2013-02-20
      • 1970-01-01
      • 2012-06-08
      • 2011-05-04
      • 1970-01-01
      • 2021-04-03
      相关资源
      最近更新 更多