我做了git pull --rebase,我得到了以下错误:
error: file write error (No space left on device)
fatal: unable to write sha1 file
fatal: unpack-objects failed
我的设备上有很多空间。不知道为什么会显示这个错误。
我第一次得到这个错误。
我做了git pull --rebase,我得到了以下错误:
error: file write error (No space left on device)
fatal: unable to write sha1 file
fatal: unpack-objects failed
我的设备上有很多空间。不知道为什么会显示这个错误。
我第一次得到这个错误。
您的驱动器空间不足。从您机器上的任何位置删除一些未使用的文件。在你完成一些大扫除之后,你可能会考虑运行git gc
git 垃圾收集你的存储库;如果你最近对 git 的对象进行了很多更改——就像 rebase 可能发生的那样——你可以从 git 本身回收重要数据。在给 git 一些喘息的空间之后(因为 gc 在工作时需要一点空间来将数据复制到新文件中),git gc
将尽可能压缩您的 git 存储库,而不会丢失存储库的历史记录。
这与其说是一个答案,不如说是对问题的澄清以及问题的实际可能是什么。当我的 Windows 8.1 系统和驱动器上有足够的空间时,我发现 GIT 会定期吐出这种类型的错误代码。
在运行 5 次并在任务管理器中检查内存后,我发现每次系统内存接近最大限制时都会触发此错误。它与可用磁盘空间无关,因此虽然@Matt 的回答在某些情况下可能是正确的,但并非对所有情况都正确。
任务管理器报告 GIT 使用的内存比例很低,但每次 GIT 运行它都会增加使用的内存。此问题似乎与 GIT 中的内存泄漏有关。
推送到远程时我遇到了类似的错误,实际上这不是由于我的本地计算机上没有足够的空间,而是在 Git 服务器上。
只需检查完整的错误,例如我得到:
Failed to write to log, write /var/log/gitlab/gitlab-shell/gitlab-shell.log: no space left on device
通知我错误来自gitlab-shell
,而不是git
。
要添加到另一个答案,说明:
每次 GIT 运行时,它都会增加使用的内存。此问题似乎与 GIT 中的内存泄漏有关。
Git 2.20(2018 年第四季度)专注于压缩 Git 中已知的最后一个内存泄漏案例,在 ref-filter 代码路径中堵住了少量内存泄漏。
请参阅Olga Telezhnaya ( ) 的提交 f0062d3、提交 deec6b8、提交 23941dd(2018 年 10 月 18 日)。(由Junio C Hamano 合并 -- --在提交 9d00100中,2018 年 10 月 30 日)telezhnaya
gitster
Git 2.24(2019 年第四季度)更正了“ for-each-ref
”(以及显示 refs 的朋友没有保护自己免受古老标签的侵害)在被要求显示“ %(taggername)
”时没有记录标注名称。
请参阅Mischa POSLAWKY ( ) 的提交 8b3f33e(2019 年 8 月 17 日)。(由Junio C Hamano 合并 -- --在提交 a477abe中,2019 年 9 月 9 日)shiar
gitster
ref-filter
: 初始化空名称或电子邮件字段
$(taggername)
由于SIGABRT
提交f0062d3 (munmap_chunk()
: freeref-filter
item->value and item->value->s, 2018-10-19, Git v2.20.0-rc0)。
在我的例子中,.gitconfig 被存储在一个网络位置,它基本上保留了我机器的所有配置文件,因此,如果 PC 死机,公司可以在新硬件上恢复相同的配置。无论如何,这个网络驱动器空间不足,所以 git 无法更新文件。您可以增加网络驱动器空间,或者只是断开它,git 将使用主驱动器上的本地配置。
我使用 Git bash 控制台遇到了这个问题。通过在没有更多问题的地方使用 Windows 控制台。我可以克隆存储库。
在我的情况下,它的远程设备空间不足,而不是本地机器。所以如果你的本地机器有足够的空间,也许你应该检查远程机器。
我通过在我的办公桌上做空间解决了我在 mac 中的问题,如果你的办公桌满了,它会给出这样的错误。