На GitHub: клон успешно, но проверка не удалась

у меня возникли проблемы с работой с git clone.Файлы загружаются в мою локальную папку git. Выполнение команды

git checkout -f HEAD дает мне

ошибка:

'ошибка записи нового индексного файла, вызванная нехваткой места на диске'.

Я вручную удалил большие файлы с моего компьютера, но все равно получаю ту же ошибку.

Cloning into 'ffmpeg'...
remote: Counting objects: 7890, done.  
remote: Compressing objects: 100% (4412/4412), done.
Receiving objects: 100% (7890/7890), 299.75 MiB | 24.19 MiB/s, done.
remote: Total 7890 (delta 3346), reused 7846 (delta 3317)
Resolving deltas: 100% (3346/3346), done.
Checking out files: 100% (7019/7019), done.
fatal: unable to write new index file
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry the checkout with 'git checkout -f HEAD'

6 ответов


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

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


в моем случае мой диск не был заполнен, и вот как я его решил:

  1. cd в каталог проекта и un-stage все поэтапные файлы, если таковые имеются, запустив git reset
  2. отменить все изменения в рабочем каталоге, запустив git checkout *

после выполнения двух шагов вы сможете увидеть файлы проекта.


я решил проблему. Оказывается, мой диск был полон. Вы можете узнать, запустив

quota

мой результат говорит

$ quota

Home Area quota for: jamie_y

Current Usage: 8 GB
Current Limit: 8 GB

выполнить команду du, чтобы найти использование диска.

The du command shows the disk space used by the files and directories in a directory. The -h option makes the output easier to read, and the -s option summarizes the result. For example,

 du -h -s (quoted from http://linux.about.com/od/commands/a/blcmdl1_dux.htm)

запустите rm-rf folderName, чтобы удалить папку / файл.


получил ту же ошибку при попытке клонировать РЕПО из Visual Studio 2017 (v15.6.0).

в моем случае установка GIT-LFS локально решить проблему.


помимо других возможностей, основным из них могут быть правила, налагаемые windows на файлы именования. Клон git и проверка должны отлично работать в linux.

для получения дополнительной информации смотрите это -https://github.com/msysgit/msysgit/issues/208


в моем случае, который клонирует большой файл в mac OS, решение устанавливало:

Git-lfs "расширение Git для управления версиями больших файлов"

https://github.com/git-lfs/git-lfs/wiki/Installation

(в Mac):

brew update
brew install git-lfs
git lfs install
git checkout -f HEAD

(в Windows):

  1. загрузите установщик windows из здесь
  2. запустите установщик windows
  3. запустить команду подскажите / или Git для Windows подскажите и запустите Git LFS install

(на Linux):

sudo apt-get install git-lfs
git lfs install

подробнее о Git LFS

https://www.atlassian.com/git/tutorials/git-lfs