2012-08-31 36 views
5

所以這是過去三週發生的第五次,而且我真的難以理解爲什麼這種情況繼續發生。這是確切的消息,我得到當我做「git的狀態」錯誤:目標文件爲空.git/objects /../ ..爲空 - 致命:鬆散對象...已損壞

error: object file .git/objects/48/088f00d90b0d27de65336bb9ed9a75b0cfed33 is empty 
fatal: loose object 48088f00d90b0d27de65336bb9ed9a75b0cfed33 (stored in .git/objects/48/088f00d90b0d27de65336bb9ed9a75b0cfed33) is corrupt 

我試過的建議,如刪除損壞的對象,但後來同樣的錯誤出現另一個遊離物。每次我做完這些,最終都會有大約30個鬆散的對象,我必須刪除這些對象,然後在所有損壞的對象都消失後仍然給我一個錯誤。

這是第五次發生這種情況,git或與之相關的東西必須有錯誤。我試過重新安裝git,但我仍然以腐敗的對象結束。我正在使用運行Ubuntu的虛擬機,如果這會導致這樣的事情,我不知道。我也嘗試切換到Linux mint,並且我也反駁了這個問題。

最後,我總是保存對文本文件的更改,刪除我的存儲庫,從git集線器中取出新存儲庫,然後重新編輯這些更改。這很有效,但這非常耗時且遠非理想。我不一定在尋找解決這個問題的方法,而是找出導致它的原因以及如何防止它再次發生。

+0

您使用的是什麼文件系統?在虛擬機的虛擬驅動器上進行回購,還是通過NFS/CFS或主機上的本地設備或SAN磁盤上的回送掛載或直接ext2/ext3/jfs/reiserfs/xfs/...掛接進行存取?有問題的文件系統是否已滿或足夠接近以至於在某些操作過程中可能會滿了?消息/系統日誌文件中的任何磁盤/文件系統錯誤? – twalberg

+0

我正在使用虛擬硬盤驅動器,它被格式化爲存儲庫的ext4。 vhd的容量爲100 GB,而我只有20 GB的容量,所以我無法滿足要求。沒有文件系統錯誤... –

+0

看到這個優秀的答案,http://stackoverflow.com/a/12371337/23118,或多或少相同的問題。 – hlovdal

回答

0

這通常不會發生,因爲git首先將文件內容寫入臨時文件,然後將文件重命名爲最終位置。實際上,由於文件系統損壞,我確實看到空的Git對象文件(VirtualBox的vboxsf,用於文件夾共享,似乎是有罪的,只要我看到有人抱怨這樣的空文件)。

設置core.fsyncobjectfilestrue可能會有所幫助。

相關問題