J'ai quelques problèmes avec git clone
. Les fichiers sont téléchargés dans mon dossier git local. Exécuter la commande
git checkout -f HEAD
me donne-
'L'incapacité d'écrire une nouvelle erreur dans le fichier d'index causée par le manque d'espace disque'.
J'ai supprimé manuellement les gros fichiers de mon ordinateur, mais j'obtiens toujours la même erreur.
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'
Lorsque vous clonez, git récupère tous les objets de l'extrémité distante (compressés et stockés dans le répertoire .git
). Une fois qu'il dispose de toutes les pièces, il décompresse tous les fichiers nécessaires à la (re) création du répertoire de travail. C’est cette étape qui échoue, faute d’espace. Cela peut être dû à un disque plein ou à un quota de disque dépassé (sur les ordinateurs partagés, des quotas sont souvent appliqués pour éviter que les utilisateurs ne prennent plus que leur juste part d'espace).
Supprimer votre cruft. Assurez-vous que vous n'essayez pas de compresser le noyau Linux ou un tel référentiel monstre dans vos quelques mégaoctets d'espace de compte.
Dans mon cas, mon disque n'était pas plein et voici comment je l'ai résolu:
git reset
.git checkout *
Après avoir suivi les deux étapes, vous devriez pouvoir voir les fichiers du projet.
J'ai résolu le problème. Il se trouve que mon disque était plein. Vous pouvez le savoir en exécutant
quota
Mon résultat dit
$ quota
Home Area quota for: jamie_y
Current Usage: 8 GB
Current Limit: 8 GB
Exécutez la commande pour trouver votre utilisation du disque.
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)
Exécutez rm -rf folderName pour supprimer le dossier/fichier.
Outre les autres possibilités, la principale pourrait être les règles imposées par Windows pour nommer les fichiers. Le clone git et la commande devraient fonctionner correctement sur Linux.
Pour plus d'informations, regardez ceci - https://github.com/msysgit/msysgit/issues/208
Vous rencontrez la même erreur lorsque vous essayez de cloner un référentiel à partir de Visual Studio 2017 (v15.6.0).
Dans mon cas, l'installation de GIT-LFS a résolu le problème localement.