2013-05-09 29 views
0

如果我在几个小时后我git pull我通常会得到一个停滞拉动过程,可能需要长达10分钟。在此之后,它通常很快(2-3秒)运行,直到我让更大的差距通过。我注意到它总是围绕着相同的物体(在我的情况下是3650-3680),而且它沿着3651 ... 3652 ......等方向排列,而不是像它应该那样撕破它们。一旦达到3680点,它就会开始翻遍它们并在几秒钟后完成。为什么git会在“压缩对象”的同时拖延拖动,导致“腐败的松散物体”?

你有什么建议?这里是我的最新拉的打印输出:

Counting objects: 6512, done. 
Delta compression using up to 2 threads. 
Compressing objects: 56% (3677/6463) 

这里只有我们两个人对信息库,有没有一个整体很多,将保证这种苛刻的pull请求代码更改。

当最终完成它说:你的中央回购

error: corrupt loose object '895fdc42e0015abc74e4cc958393027262374b90' 
fatal: loose object 895fdc42e0015abc74e4cc958393027262374b90 (stored in /path/to/mysite/.git/objects/89/5fdc42e0015abc74e4cc958393027262374b90) is corrupt 
error: failed to run repack 

回答

1

运行git fsck,看看它说。它可能会报告与腐败相同的对象。找出它是否被实际引用。如果没有,请删除它。如果它被引用,找出它来自哪里/谁可能有它的副本,并用正确的副本替换损坏的对象。

+0

此文件不在存储库中的主服务器或其他开发人员处。这是否意味着它不被引用并可能被删除? – Ryan 2013-05-10 03:12:55

+0

你可以将它移出git目录(记住它的位置!),看看会发生什么。我的回答有点不明确 - 检查对象是否在其他回购站中,不应该看文件系统,而是运行'git show -p ** SHA **'。该对象可能位于packfile中。 – Chronial 2013-05-11 11:31:04