Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GitHub:克隆成功,但签出失败_Git_Github_Git Svn - Fatal编程技术网

GitHub:克隆成功,但签出失败

GitHub:克隆成功,但签出失败,git,github,git-svn,Git,Github,Git Svn,我在工作中遇到了一些问题 git clone。这些文件下载到我的本地git文件夹中。运行命令 git checkout-f HEAD给了我- 错误: “磁盘空间不足导致无法写入新索引文件错误” 我已经手动从我的计算机中删除了大文件,但仍然收到相同的错误 Cloning into 'ffmpeg'... remote: Counting objects: 7890, done. remote: Compressing objects: 100% (4412/4412), done. Recei

我在工作中遇到了一些问题
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从远程端获取所有对象(压缩并存储到
.git
目录中)。一旦它拥有了所有的部分,它就开始解包(重新)创建工作目录所需的所有文件。由于没有足够的空间,这一步失败了。这可能是由于磁盘已满,或者磁盘配额已超过(在共享计算机上,通常会强制执行配额,以避免用户占用超过其公平份额的空间)


删除你的积垢。确保您没有试图将Linux内核或类似的怪物存储库挤进您数兆字节的帐户空间

我解决了这个问题。原来我的磁盘已经满了。你可以通过跑步找到答案

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

在我的情况下,我的磁盘没有满,我就是这样解决的:

  • 将cd放入项目目录,并通过运行
    git reset
  • 通过运行
    git checkout*

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

    在尝试从Visual Studio 2017(v15.6.0)克隆回购时遇到相同的错误


    在我的例子中,本地安装解决了这个问题。

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


    有关更多信息,请观看此-

    我最近遇到了这个问题,错误是我克隆存储库的文件路径太大,您可以通过将存储库克隆到C:\

    中的某个文件夹来进行测试。在我的情况下,这是由于文件名中的冒号造成的。一旦我更改了它们,一切都很好。

    对我来说,这是由于文件名太长,通过下面的简单配置解决了这个问题

    
    git config --system core.longpaths true
    

    默认情况下,它的master和git checkout-f HEAD有一个名为HEAD的分支吗?是的。我在.git文件夹中有一个名为HEAD的文件夹。我应该删除该文件夹吗?否。不要删除.git文件夹中的任何内容。一旦你进行git克隆,它将创建一个文件夹,该文件夹是你的应用程序目录,在该文件夹中你将拥有.git文件夹。您的应用程序/代码文件夹未链接到git,使用git签出{branchname}您可以签出到不同的BranchStanks!我将源代码放在.git/branchs下。可以吗?您知道如何解决磁盘空间不足的错误吗?这是我们的问题。文件名以引号开头。在Linux机器上删除了它,问题就解决了。我也面临着同样的问题,在我的例子中,目录名以“.”(点)结尾,这在Ubuntu/Mac上运行良好,但在windows上不起作用……对,忘了这一点。如果最终签出将覆盖本地文件,则会失败。你可以
    git-stage
    把它们放在一边(现在)。这也是我的问题。“文件名太长”+1如果文件名太长:我的问题是文件名也太长。我必须克隆并缩短名称。C:\中的克隆为我解决了这一问题。在我的情况下,这是由于文件太长-name@sashikanta检查日志。如果是由于文件名太长,请尝试在C:\checkout\之类的小路径上执行克隆。如果文件名太长,请执行以下操作:这里也是如此。。。错误消息是<代码>git lfs筛选器进程:git lfs:未找到命令致命:远程端意外挂起警告:克隆成功,但签出失败。您可以使用“git status”检查签出的内容,然后使用“git restore--source=HEAD://”重试。安装git lfs解决了此问题