我在使用时遇到了一些问题
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'
答案 0 :(得分:10)
克隆时,git从远程端获取所有对象(压缩并存入.git
目录)。一旦它拥有所有部分,它就会继续解压缩(重新)创建工作目录所需的所有文件。由于没有足够的空间,这一步失败了。这可能是由于磁盘已满或超出磁盘配额(在共享计算机上,通常会强制执行配额以避免用户占用超过其公平份额的空间)。
删除你的残骸。确保您没有尝试将Linux内核或某些此类怪物存储库压缩到几兆字节的帐户空间中。
答案 1 :(得分:8)
在我的情况下,我的磁盘未满,这就是我解决它的方法:
git reset
git checkout *
执行这两个步骤后,您应该能够看到项目文件。
答案 2 :(得分:8)
对我来说,这是由于文件名太长,并按如下所示进行了简单的配置即可解决
git config --system core.longpaths true
答案 3 :(得分:2)
我解决了这个问题。事实证明我的磁盘已满。你可以通过运行找到
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删除文件夹/文件。
答案 4 :(得分:1)
除其他可能性外,主要的可能性可能是Windows对命名文件施加的规则。 git clone和checkout在Linux上应该可以正常工作。
有关更多信息,请观看此-https://github.com/msysgit/msysgit/issues/208
答案 5 :(得分:1)
就我而言,这是由于文件名中的冒号造成的。更改它们后,一切正常。
答案 6 :(得分:1)
如果你在 Windows 上,你应该这样做:
转至计算机配置 → 管理模板 → 系统 → gpedit.msc
中的文件系统,打开 Enable Win32 long paths
并将其设置为 Enabled
。
在那之后 git config --system core.longpaths true
或编辑 gitconfig
(您必须以管理员身份运行)。
用git bash
打开项目目录,然后运行git reset
,然后运行git checkout *
答案 7 :(得分:0)
尝试从Visual Studio 2017(v15.6.0)克隆回购时遇到同样的错误。
在我的案例中,在本地安装GIT-LFS解决了这个问题。
答案 8 :(得分:0)
我最近遇到了这个问题,错误是我克隆存储库的文件路径太大,您可以通过将存储库克隆到C:\
的某个文件夹中来进行测试