我正在尝试在我的本地局域网上设置一个git repo并且到目前为止能够克隆,拉取,获取等等。不幸的是,当我尝试推送时,它会导致
致命:远程端意外挂断。
系统日志显示:
git-daemon [10090]:'receive-pack':服务未启用'./www-dev/aptwebsite.git'
经过一些研究,我认为我可以启用“接收包”,但我无法弄清楚如何。
当我尝试:
git daemon --reuseaddr --base-path=. --export-all --verbose --enable=receive-pack
我明白了:
致命:无法在主机(null)端口9418上分配任何侦听套接字。
当我尝试
时git receive-pack <working directory>
我明白了:
00700000000000000000000000000000000000000000能力^ {}报告状态delete-refs side-band-64k ofs-delta 0000 ^ C
有什么建议吗?
答案 0 :(得分:0)
一些指示可能有助于万一人们遇到“远程端意外挂断”与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并不意味着由最终用户运行。也就是说,字符串“00700000000000000000000000000000000000000000能力^ {}报告状态delete-refs side-band-64k ofs-delta”正是如果'工作目录'是新初始化的Git仓库所能得到的。
简而言之:从git-daemon检查日志,并注意网络管道。