Git не осталось места на устройстве

Я сделал git pull --rebase и получил следующую ошибку:

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

У меня много места на моем устройстве. Не знаю, почему он показывает эту ошибку.

Впервые я получил эту ошибку.


person Rahul Tapali    schedule 15.01.2013    source источник
comment
возможный дубликат Git Deploy - ошибка записи файла (нет места осталось на устройстве)   -  person CharlesB    schedule 17.02.2013


Ответы (7)


У вас закончилось место на диске. Удалите некоторые неиспользуемые файлы из любого места на вашем компьютере. После того, как вы сделали небольшую уборку, вы можете подумать о запуске git gc, чтобы git мусор собирал ваш репозиторий; если вы недавно внесли много изменений в объекты git - как это может произойти с перебазированием - вы можете восстановить важные данные из самого git. Предоставив git некоторую передышку (поскольку gc потребуется небольшое пространство для маневра, чтобы копировать данные в новые файлы по мере его работы), git gc сожмет ваш репозиторий git настолько, насколько это возможно, без потери истории вашего репозитория.

person Matt    schedule 15.01.2013
comment
вы имеете в виду файлы из /tmp или файлы из git - person Rahul Tapali; 15.01.2013
comment
Где угодно, на самом деле: весь ваш диск забит. Очистить загрузки из /tmp, чего бы это ни стоило. Прогони эти паутины. - person Matt; 15.01.2013
comment
хахаха!!! rm -rf /tmp/*, rm -rf /var/log/*, cd / && find . -тип ф ! -name '.gz' -exec gzip {} \;*. в качестве альтернативы приобретите жесткий диск большей емкости. - person thang; 15.01.2013
comment
У меня много места на моем устройстве. Я не знаю, почему это так :( - person Rahul Tapali; 15.01.2013
comment
@checkit: проверьте, есть ли у вас свободное место во всех файловых системах, включая /tmp. df -h может пригодиться. - person mvp; 15.01.2013

Это не столько ответ, сколько уточнение проблемы и того, в чем проблема может заключаться на самом деле. Я обнаружил, что GIT регулярно выдает этот тип кода ошибки, когда у меня достаточно места в моей системе Windows 8.1 и на дисках.

После запуска 5 раз и проверки памяти в диспетчере задач я обнаружил, что каждый раз, когда системная память приближалась к максимальному пределу, эта ошибка вызывалась. Это не имело ничего общего с доступным дисковым пространством, поэтому, хотя ответ @Matt может быть правильным в некоторых случаях, он не является правильным для всех из них.

Диспетчер задач сообщает о низкой доле памяти, используемой GIT, но каждый раз, когда GIT запускается, он увеличивает объем используемой памяти. Эта проблема, по-видимому, связана с утечкой памяти в GIT.

person Community    schedule 28.01.2016

У меня была аналогичная ошибка при отправке на удаленный компьютер, и на самом деле это было не из-за нехватки места на моей локальной машине, а на сервере Git.

Просто проверьте полную ошибку, например, я получил:

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

сообщая мне, что ошибка исходит от gitlab-shell, а не git.

person roipoussiere    schedule 11.08.2020
comment
Точно так же я и мои коллеги видим эту ошибку, и, похоже, она не связана с нашим локальным дисковым пространством. Мы подозреваем, что это проблема с сервером GitLab, и сейчас ее изучаем. - person jnotelddim; 18.05.2021

Чтобы добавить к другой ответ, в котором говорится:

каждый раз, когда GIT запускается, он увеличивает используемую память. Эта проблема, по-видимому, связана с утечкой памяти в GIT.

Git 2.20 (4 квартал 2018 г.) направлен на устранение последних случаев утечки памяти, известных в Git, затыкая несколько утечек памяти в кодовом пути ref-filter.

См. commit f0062d3, зафиксировать deec6b8, noreferrer="noreferrerof" 23941dd (18 октября 2018 г.), автор Ольга Тележная (telezhnaya).
(Объединено Junio ​​C Hamano -- gitster -- в commit 9d00100, 30 октября 2018 г.)


Git 2.24 (4 квартал 2019 г.) исправляет for-each-ref (и друзья, которые показывают ссылки, не защищали себя от древних тегов) не записывали имена тегов, когда их просили показать %(taggername),.

См. commit 8b3f33e (17 августа 2019 г.) от Миша ПОЗЛАВСКИЙ (shiar).
(объединено Хунио C Хамано -- gitster -- в commit a477abe, 09 сентября 2019 г.)

ref-filter: инициализировать пустые поля имени или электронной почты

Форматирование $(taggername) в тегах без заголовков, таких как v0.99 в Git, приводит к SIGABRT с ошибкой munmap_chunk(): недопустимый указатель из-за недосмотра в фиксации f0062d3 (ref-filter: free item-›value и item-›value-›s, 19 октября 2018 г., Git v2.20.0-rc0).

person VonC    schedule 04.11.2018

В моем случае .gitconfig хранился в сетевом расположении, где, по сути, хранятся все файлы конфигурации для моей машины, поэтому, если ПК выйдет из строя, корпорация может восстановить те же конфигурации на новом оборудовании. Во всяком случае, на этом сетевом диске не хватило места, поэтому git не смог обновить файл. Либо вы можете увеличить пространство на сетевом диске, либо просто отключить его, и git будет использовать локальную конфигурацию, которая находится на вашем основном диске.

person metabuddy    schedule 20.08.2019

Я получил эту проблему, используя консоль Git bash. С помощью консоли Windows больше нет проблем. я мог бы клонировать репозиторий.

person Aline    schedule 02.01.2020

Я решил свою проблему на Mac, освободив место на своем столе, если ваш стол заполнен, он выдаст такую ​​​​ошибку.

person kallayya Hiremath    schedule 04.06.2020