设备上没有剩余空间

Rah*_*ali 17 git git-pull git-rebase

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

 error: file write error (No space left on device)
 fatal: unable to write sha1 file 
 fatal: unpack-objects failed
Run Code Online (Sandbox Code Playgroud)

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

谢谢.

Mat*_*att 10

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

  • @checkit:检查所有文件系统上是否有可用空间,包括`/ tmp`.`df -h`可能会派上用场. (3认同)
  • 我的设备上有很多空间。我不知道为什么会这样:( (2认同)

roi*_*ere 7

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

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

Failed to write to log, write /var/log/gitlab/gitlab-shell/gitlab-shell.log: no space left on device
Run Code Online (Sandbox Code Playgroud)

告诉我错误来自gitlab-shell,而不是git


小智 5

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

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

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