Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.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
Macos 错误:稀疏签出在工作目录中没有留下条目_Macos_Git_Sparse Checkout - Fatal编程技术网

Macos 错误:稀疏签出在工作目录中没有留下条目

Macos 错误:稀疏签出在工作目录中没有留下条目,macos,git,sparse-checkout,Macos,Git,Sparse Checkout,首先,让我告诉你,我已经检查了所有类似的线程,并搜索了谷歌,以找到问题可能是什么,但没有成功。我的问题是,我试图在git中使用稀疏签出,但出现以下错误: error: Sparse checkout leaves no entry on working directory 我有一个60GB的存储库,我需要克隆它。我只需要它的一部分,所以为了节省磁盘空间,我想使用稀疏签出。我就是这么做的: mkdir repoDir git init repoDir cd-repoDir git远程添加源站 g

首先,让我告诉你,我已经检查了所有类似的线程,并搜索了谷歌,以找到问题可能是什么,但没有成功。我的问题是,我试图在git中使用稀疏签出,但出现以下错误:

error: Sparse checkout leaves no entry on working directory
我有一个60GB的存储库,我需要克隆它。我只需要它的一部分,所以为了节省磁盘空间,我想使用稀疏签出。我就是这么做的:

  • mkdir repoDir
  • git init repoDir
  • cd-repoDir
  • git远程添加源站
  • git config core.sparsecheckout true
  • echo“some/dir/”>.git/info/sparse checkout
  • git pull--depth=1原始主机
  • 注意,我添加了不带-f标志的remote,因此不会获取任何内容

    结果是:

    error: Sparse checkout leaves no entry on working directory
    
    我尝试了几件事:

    • 我没有初始化新的repo并手动添加远程,而是执行了git克隆--no checkout,然后设置稀疏签出。这没有帮助,因为我的
      git状态显示好像我删除了repo中的所有文件。
      git pull origin master
      命令会导致相同的错误
    • 在步骤6中尝试了所有可能的路径组合,包括前面的斜杠、路径后面的斜杠、星形、路径和
      >
      之间的空格。顺便说一句,我不知道什么是正确的格式,从评论上,所以我看到了相互排斥的格式化方式
    • 尝试确保我的
      .git/info/sparse checkout
      是ASCII,并且找到了正确的行尾。这可能只是Windows上的问题,但我只是检查了一下
    我的git版本:
    git版本1.9.3(Apple git-50)

    OSX约塞米蒂10.10.2(14C109)

    事实证明,
    “some/dir/”
    是错误的,因为我没有存储库,我不知道它的真实结构。我可以通过web界面浏览它,但我刚刚发现文件夹与真实的存储库文件夹结构不完全对应


    未来的教训:在创建
    稀疏签出
    文件之前,确保您了解文件夹结构。

    我想要遵循的操作顺序是类似的,即在另一篇文章中建议的操作顺序。我收到了错误信息

    错误:稀疏签出在工作目录中没有留下条目

    当启动
    git pull
    时,分支为
    master

    正如@lawicko所说,在项目网页中,我可以点击我的方式到要克隆的子目录,并复制该网页的URL;ctrl+L ctrl+C使这项工作既方便又快捷。此URL具有以下格式:

    https://gitlab.com/<username>/<project>/tree/master/<subdir>/<subdir> 
    
    用后面的斜杠

    作为同一目标的替代方案,在下拉菜单右侧有另一条路径,形式为
    /
    ,用于在网页顶部切换分支。 在本例中,我将复制并粘贴
    的子项以及尾部斜杠。
    而且此路径不像URL那样容易复制和粘贴。

    请注意,如果您在windows上使用稀疏签出,您可能需要添加core.protectNTFS false per

    是否可能
    some/dir/
    只是不包含任何跟踪文件?@Zeeker原来我在查找不存在的文件夹。是否有办法让它在windows中使用“ExtendedBuildings/Localization/pt”等混合大小写目录名?我可以在github上看到我想要获取的数据,并且可以在同一项目的早期副本中看到。。(事实上,即使在当前的项目中),但它仍然不能工作
    <subdir>/<subdir>/