【问题标题】:error: Sparse checkout leaves no entry on working directory错误:稀疏结帐在工作目录上没有留下任何条目
【发布时间】:2015-05-05 08:00:57
【问题描述】:

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

error: Sparse checkout leaves no entry on working directory

我有这个 60GB 的存储库,我需要克隆它。我只需要其中的一部分,所以为了节省磁盘空间,我想使用稀疏结帐。我就是这样做的:

  1. mkdir repoDir
  2. git init repoDir
  3. cd repoDir
  4. git remote add origin <repo url>
  5. git config core.sparsecheckout true
  6. echo "some/dir/" >> .git/info/sparse-checkout
  7. git pull --depth=1 origin master

注意我添加了没有 -f 标志的遥控器,所以什么都没有获取。

结果:

error: Sparse checkout leaves no entry on working directory

我尝试了几件事:

  • 我没有初始化新的存储库并手动添加远程,而是使用git clone --no-checkout,然后设置了稀疏结帐。这没有帮助,因为我的git status 显示好像我删除了我的存储库中的所有文件。 git pull origin master 命令会导致同样的错误。
  • 在第 6 步中尝试了所有可能的路径组合,包括前面的斜杠、路径后面的斜杠、星号、路径与 >>> 之间的空格。顺便说一句,我很困惑这里的正确格式是什么,从所以我看到了相互排斥的格式化方式。
  • 试图确保我的.git/info/sparse-checkout 是ASCII,并且具有正确的行尾,如here。这可能只在 Windows 上存在问题,但我还是检查了一下。

我的 git 版本:git version 1.9.3 (Apple Git-50)

OSX 优胜美地 10.10.2 (14C109)

【问题讨论】:

  • some/dir/ 是否可能不包含任何跟踪文件?
  • @Zeeker 原来我在寻找不存在的文件夹。
  • 有没有办法让它在 Windows 中使用混合大小写的目录名称,如 "ExtendedBuildings/Localization/pt" ?我可以在 github 和同一项目的早期副本中看到我想要提取的数据..(实际上甚至在当前项目中),但它仍然无法正常工作

标签: macos git sparse-checkout


【解决方案1】:

请注意,如果您在 Windows 上使用 sparse-checkout,则可能需要根据 https://github.com/git-for-windows/git/issues/2777 添加 core.protectNTFS false

【讨论】:

    【解决方案2】:

    我想遵循的操作顺序是相似的,即在另一篇帖子https://stackoverflow.com/a/13738951/5459638 中建议的操作顺序。我收到错误消息

    错误:稀疏结帐在工作目录上没有留下任何条目

    当启动 git pull <remote> <branch> 分支为 master 时。

    正如@lawicko 所说,在项目网页中,我可以单击我的方式进入要克隆的子目录并复制该页面的 URL; ctrl+L ctrl+C 让这一切变得又快又好。此 URL 的格式为

    https://gitlab.com/<username>/<project>/tree/master/<subdir>/<subdir> 
    

    我的sparse-checkout 文件接受的部分是master 的孩子

    <subdir>/<subdir>/
    

    带有斜杠。

    作为相同目的的替代方案,在网页顶部的下拉菜单右侧还有另一个路径为&lt;project&gt;/&lt;subdir&gt;/&lt;subdir&gt;,用于切换分支。 在这种情况下,我会复制并粘贴&lt;project&gt; 的子代以及斜杠。 而且这个路径不像网址那么容易复制粘贴。

    【讨论】:

      【解决方案3】:

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

      未来的教训:确保在创建sparse-checkout 文件之前了解文件夹结构。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-06-10
        • 1970-01-01
        • 2016-05-07
        • 2019-11-19
        • 2016-09-07
        • 2012-11-04
        • 2016-06-18
        • 2021-05-26
        相关资源
        最近更新 更多