2013-01-15 109 views
13

我做混帳拉--rebase,我得到了以下錯誤:的Git沒有剩餘空間設備

error: file write error (No space left on device) 
fatal: unable to write sha1 file 
fatal: unpack-objects failed 

我有很大的空間我的設備上。不知道它爲什麼顯示這個錯誤。第一次我得到這個錯誤。有沒有人遇到過這個問題?

謝謝。

+0

爲什麼會投票???請解釋 – codeit

+1

可能的重複[Git Deploy - 「文件寫入錯誤(設備上沒有剩餘空間)」](http://stackoverflow.com/questions/4329730/git-deploy-file-write-error-no-space-留在設備上) – CharlesB

回答

8

你沒有驅動器空間。從機器上的任意位置刪除一些未使用的文件。在你做了一些清理之後,你可能會考慮運行git gc讓git垃圾收集你的倉庫;如果您最近對git的對象進行了大量更改 - 就像可能發生的rebase一樣 - 您可以從git本身回收重要數據。在給git一些呼吸空間之後(因爲gc需要一個小小的擺動空間將數據複製到新文件中),git gc將盡可能地壓縮git存儲庫,而不會丟失存儲庫的歷史記錄。

+0

哈哈。這是天才。你不是這個意思嗎:刪除一些文件? – thang

+0

你的意思是來自/ tmp的文件或來自git的文件 – codeit

+0

任何地方,真的:你的整個驅動器都塞滿了。從/ tmp清除下載,無論它需要什麼。追逐那些蜘蛛網。 – Matt

2

這不是一個答案,而是一個澄清問題和實際問題的答案。當我在Windows 8.1系統和驅動器上有足夠的空間時,我發現GIT定期吐出這種類型的錯誤代碼。

運行5次並檢查任務管理器中的內存後,我發現每次系統內存達到最大限制時都會觸發此錯誤。它與可用的磁盤空間無關,所以儘管@ Matt的答案在某些情況下可能是正確的,但它們都不正確。

任務管理器報告GIT使用的內存比例較低,但每次GIT運行時都會增加使用的內存。此問題似乎與GIT中的內存泄漏有關。

相關問題