2013-01-02 148 views
2

由於某些原因,我突然收到提交錯誤的合併,幾個月前發生?使用Gitolite推送到中央服務器,並在本地git流擴展。的錯誤是:git'無法讀取對象'和'無法找到'錯誤

混帳推:

fatal: failed to read object 02a261fad3eae408b04d1941334875d73ddd3f57: Permission denied 
error: unpack failed: unpack-objects abnormal exit 

而且我找不到本地或服務器上

混帳拉那個對象:

error: unable to find 379d1971a1037a97919ce37342ee7a60fc611946 
error: unable to find 6e41daf37591c88c8dc18f2ecc8761e7d44a0cd9 
error: unable to find 0995f5098e0a96f642c6730231d997dd6e074697 

確定如何考慮嘗試新鮮的git克隆:

error: unable to find 379d1971a1037a97919ce37342ee7a60fc611946 
error: unable to find 6e41daf37591c88c8dc18f2ecc8761e7d44a0cd9 
error: unable to find 0995f5098e0a96f642c6730231d997dd6e074697 
error: git upload-pack: git-pack-objects died with error. 
fatal: git upload-pack: aborting due to possible repository corruption on the remote side. 
remote: fatal: failed to read object 6e41daf37591c88c8dc18f2ecc8761e7d44a0cd9: Permission denied 
remote: aborting due to possible repository corruption on the remote side. 
fatal: early EOF 
fatal: index-pack failed 

任何想法可能會發生什麼導致這些錯誤出現?或者更重要的是如何撤消它們?

編輯:也是在提交6e41daf37後,我做了'git流功能啓動等等'並提交現有的更改,而不是破壞開發。可能是本地功能的問題,而不是Gitolite服務器?在任何情況下,我不能'功能發佈',因爲它給'解包失敗閱讀對象02a261fad3'錯誤張貼

+0

大概這不是一個開源項目,您可以提供的URL? – Johnsyweb

+0

會幫助http://stackoverflow.com/a/9673632/6309嗎?或http://stackoverflow.com/a/820167/6309? – VonC

+0

Johnsyweb:它不是操作系統,VonC:看起來並不像他們幫助的那樣,'git fsck'不會返回任何東西,而是一些懸掛的斑點,而我創建的分支只存在於本地而不是遠程,所以這對於'git clone'失敗問題 – xref

回答

1

由於孩子們說這看起來'粗糙',我敢肯定,孩子們仍然說, ,我只是從備份中恢復了Gitolite repo,現在一切正常。不知道發生了什麼,但這是我們爲什麼做備份的一個很好的例子!

+1

優秀。 +1。這就是爲什麼我引用http://stackoverflow.com/questions/801577/how-to-recover-git-objects-damaged-by-hard-disk-failure/820167#820167(它說明了備份的另一種用法)。 – VonC

3

這也發生在我身上。似乎某些文件在服務器上的存儲庫中獲取了錯誤的權限。下面的兩個命令的訣竅:

cd /path/to/gitolite 
chown -R git * 
+1

剛剛意識到這是因爲我已經通過root在服務器上本地克隆/拉取了一個存儲庫。這將創建/更改存儲庫中的文件,並且此類文件的所有者將變爲root,而不是git。 – Dima

+0

同樣發生在我@迪瑪,感謝這一點。 – Cross