【问题标题】:Git pull - No space left on device error with free space leftGit pull - 设备上没有剩余空间错误,剩余可用空间
【发布时间】:2019-05-21 08:58:27
【问题描述】:

尝试 git pull 时出现此错误:

remote:计数对象:6,完成。远程:压缩对象:100% (6/6),完成。远程:总计 6(增量 0),重用 0(增量 0)错误: 无法创建临时 sha1 文件名:设备上没有剩余空间

致命:无法写入对象致命:解包对象失败

我检查了一下,我只使用了 57% 的磁盘空间,并且有足够的可用空间用于拉取操作。 最后一次拉动是大约一周前,没有这样的问题。 可能是什么原因?

我的问题与this one. 不重复 问题是对象已经存在,而我的问题是没有可用空间错误,而 df -h 显示只有 57% 的使用率。

【问题讨论】:

  • 你能不能尝试运行git gc然后再拉?
  • 我认为它是重复的:stackoverflow.com/questions/685319/…
  • 根据经验,当一个进程报告有no space left on device并且你认为还有空间,在绝大多数情况下你是错误的并且进程是正确的(有点像当编译器报告您无法直接用眼睛发现的语法错误)。可能有很多原因(您用于检查可用空间的方法、剩余空间不足以进行操作、COW 文件系统被快照弄脏、查看了错误的设备……)
  • @Vishal 不是。我实际上看到了那个,虽然错误看起来很相似,但实际上并非如此。

标签: git git-pull


【解决方案1】:

如果你有磁盘空间,它可能是inodes。使用以下命令检查磁盘上剩余的inodes 数量(如果您使用的是 Linux / Mac):

df -ih

来自维基百科:

inode(索引节点)是 Unix 风格文件系统中的一种数据结构,用于描述文件系统对象,例如文件或目录。每个 inode 存储对象数据的属性和磁盘块位置。文件系统对象属性可能包括元数据(上次更改、访问、修改的时间),以及所有者和权限数据。

磁盘上的文件数量很重要,因此请尝试清除磁盘上的一些文件(也不是大文件)。

【讨论】:

  • 就是这样!谢谢。
猜你喜欢
  • 2012-12-29
  • 1970-01-01
  • 2014-09-13
  • 2015-08-16
  • 1970-01-01
  • 1970-01-01
  • 2012-01-14
  • 2012-05-15
  • 2018-11-22
相关资源
最近更新 更多