GitHub:Clone成功了,但结账失败了

问题描述 投票:19回答:6

我在使用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'
git github git-svn
6个回答
12
投票

克隆时,git从远程端获取所有对象(压缩并存入.git目录)。一旦它拥有所有部分,它就会继续解压缩(重新)创建工作目录所需的所有文件。由于没有足够的空间,这一步失败了。这可能是由于磁盘已满或超出磁盘配额(在共享计算机上,通常会强制执行配额以避免用户占用超过其公平份额的空间)。

删除你的残酷。确保您没有尝试将Linux内核或某些此类怪物存储库压缩到几兆字节的帐户空间中。


10
投票

在我的情况下,我的磁盘未满,这就是我解决它的方式:

  1. cd进入项目目录并通过运行git reset取消暂存所有暂存的文件(如果有)
  2. 通过运行git checkout *撤消工作目录中的所有更改

完成这两个步骤后,您应该能够看到项目文件。


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以删除文件夹/文件。


2
投票

除了其他可能性之外,主要的可能是windows对命名文件施加的规则。 git克隆和checkout应该在linux上正常工作。

欲了解更多信息,请观看这​​个 - https://github.com/msysgit/msysgit/issues/208


1
投票

我最近有这个问题,错误是我克隆存储库的文件的路径太大,您可以通过将存储库克隆到C:\中的某个文件夹来进行测试


0
投票

尝试从Visual Studio 2017(v15.6.0)克隆repo时出现相同的错误。

在我的情况下,在本地安装GIT-LFS解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.