【发布时间】:2014-10-21 22:03:51
【问题描述】:
我有一个 git 服务器(CentOS 6.5 上的 git 1.7.1)正常运行了一年,
和git clone/pull/push 通过 https 就像一个魅力。
但是今天,当我尝试将this file 推送到我的服务器时,它失败并显示以下错误消息:
Counting objects: 17, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (7/7), 11.33 KiB | 0 bytes/s, done.
Total 7 (delta 4), reused 0 (delta 0)
fatal: protocol error: bad line length character: < HTM
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
git did not exit cleanly (exit code 128) (13370 ms @ 2014/8/28 PM 01:54:39)
现在我的本地仓库似乎坏了;我无法将任何文件推送到我的服务器。
我尝试运行git rm docs.min.js,但仍然无法推送任何文件。
但是,如果我将此 repo 克隆到另一个工作目录,我可以正常推送文件。
我尝试了几个 git 客户端,包括 Windows 7 上的 TortoiseGit、CentOS 6 上的 git、Mac OSX 10.8 上的 git,但都有同样的问题。
Google 搜索表明这是服务器端问题,但我的 git 服务器似乎工作正常。所有其他文件,存储库可以git clone/pull/push。
运行git-receive-pack得到以下结果:
00729cb8e722e189b90b7962bf94b91a8cefd8a819da refs/heads/master report-status delete-refs side-band-64k ofs-delta
003e9cb8e722e189b90b7962bf94b91a8cefd8a819da refs/tags/latest
003cbd3510b705ebc9def3afcac0a9bb59ba81a0960d refs/tags/prod
003be9c1bff213332f15892eb1a9c790c9737599b3fa refs/tags/v30
003b0411cb4c7be5f3d3bc4c80a70f10417bd34daed0 refs/tags/v31
003b6070e4869ccce82d0bc778821d748145a0575c2b refs/tags/v32
003b0d62d04331cd3067d93e1003ae8de56cee6601c1 refs/tags/v33
003bb40d0720f0bca2791c8b83b191e9faa673f25980 refs/tags/v34
003bab3cc6a4de19771625a9c30f9f75670745f61a7d refs/tags/v35
003b1f2e45a887653656e36f618839032265aae97989 refs/tags/v36
003b86423373fbecd056d63850e46bca22271bd73e09 refs/tags/v37
003bbd3510b705ebc9def3afcac0a9bb59ba81a0960d refs/tags/v38
003b9cb8e722e189b90b7962bf94b91a8cefd8a819da refs/tags/v39
0000
它挂在0000,并且没有显示错误消息。
有什么想法吗?
【问题讨论】:
-
相关:stackoverflow.com/questions/8170436/… 所以问题不在于文件,而在于存储库发送了错误的协议消息。
-
@Malt 根据相关帖子,我运行
git-receive-pack并将结果发布在上面。但我仍然不知道会发生什么。有什么建议吗?谢谢。 -
服务器端用什么?协议错误看起来像 HTML 的开头。
-
musiKk 是对的,“
-
@musiKk 我在 CentOS 上使用 git + gitolite + nginx。你是这个意思吗?