设备上没有剩余空间

时间:2013-01-15 06:35:42

标签: git git-rebase git-pull

我做了 git pull --rebase ,我收到了以下错误:

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

我的设备上有很多空间。不知道为什么会出现这个错误。我第一次遇到这个错误。有没有人面对这个问题??

谢谢。

7 个答案:

答案 0 :(得分:11)

你已经没有开车了。从计算机上的任何位置删除一些未使用的文件。在你做了一些清理之后,你可能会考虑运行git gc让git垃圾收集你的存储库;如果你最近对git的对象做了很多改变 - 比如可以用rebase发生 - 你可以从git本身回收重要的数据。给git一些喘息的空间(因为gc需要一点摆动空间来将数据复制到新文件中),git gc将尽可能地压缩你的git存储库,而不会丢失你的存储库的历史记录。

答案 1 :(得分:3)

这不仅仅是对问题的澄清以及问题实际可能是什么的答案。当我在Windows 8.1系统和驱动器上有足够的空间时,我发现GIT会定期吐出这种类型的错误代码。

在任务管理器中运行5次并检查内存后,我发现每次系统内存接近最大限制时都会触发此错误。它与可用的磁盘空间无关,所以虽然@ Matt的答案在某些情况下可能是正确的,但对所有情况都不正确。

任务管理器报告GIT使用的内存比例很低,但每次GIT运行时,它都会增加使用的内存。此问题似乎与GIT中的内存泄漏有关。

答案 2 :(得分:0)

要添加到the other answer中,说明:

  

每次GIT运行时,它都会增加所使用的内存。该问题似乎与GIT中的内存泄漏有关。

Git 2.20(Q4 2018)专注于压缩Git中已知的最新内存泄漏案例,将少量内存泄漏插入ref过滤器代码路径中。

请参见commit f0062d3commit deec6b8commit 23941ddOlga Telezhnaya (telezhnaya)(2018年10月18日)。
(由Junio C Hamano -- gitster --commit 9d00100中合并,2018年10月30日)

答案 3 :(得分:0)

在我的情况下,.gitconfig存储在网络位置上,该位置实际上保留了我的计算机的所有配置文件,因此,如果PC死了,公司可以在新硬件上恢复相同的配置。无论如何,此网络驱动器空间不足,因此git无法更新文件。 您可以增加网络驱动器的空间,或者只是断开它的连接,然后git将使用主驱动器上的本地配置。

答案 4 :(得分:0)

我使用Git bash控制台遇到了这个问题。通过使用Windows控制台,那里不再有问题。我可以克隆存储库。

答案 5 :(得分:0)

当推送到远程设备时,我也遇到了类似的错误,实际上这不是由于本地计算机上没有足够的空间,而是由于Git服务器上的空间。

只需检查完整错误,例如我得到了:

Failed to write to log, write /var/log/gitlab/gitlab-shell/gitlab-shell.log: no space left on device

通知我错误来自gitlab-shell,而不是git

答案 6 :(得分:-2)

我通过在办公桌上腾出空间解决了Mac中的问题,如果您的办公桌已满,则会出现这样的错误。