首先,我告诉您,我已经检查了所有类似的线程并搜索了谷歌以查找可能是什么问题,但没有成功。我的问题是我试图在 git 中使用稀疏结帐,但我收到此错误:
error: Sparse checkout leaves no entry on working directory
我有这个 60GB 的存储库,我需要克隆它。我只需要其中的一部分,所以为了节省磁盘空间,我想使用稀疏结帐。这就是我所做的:
mkdir repoDir
git init repoDir
cd repoDir
git remote add origin <repo url>
git config core.sparsecheckout true
echo "some/dir/" >> .git/info/sparse-checkout
git pull --depth=1 origin master
注意我添加了没有 -f 标志的遥控器,所以没有获取任何内容。
结果:
error: Sparse checkout leaves no entry on working directory
我尝试了几件事:
- 我没有初始化新的 repo 并手动添加遥控器,而是
git clone --no-checkout
设置了稀疏结帐。正如我所展示的那样,这并没有帮助,git status
就好像我删除了存储库中的所有文件一样。该git pull origin master
命令导致相同的错误。 - 在第 6 步中尝试了所有可能的路径组合,包括前面的斜杠、路径后面的斜杠、星号、路径和
>
or之间的空格>>
。顺便说一句,我很困惑这里的正确格式是什么,从对 SO 的评论中我看到了相互排斥的格式化方式。 - 试图确保 my
.git/info/sparse-checkout
是 ASCII,并且有正确的行尾,如此处所示。这可能只在 Windows 上存在问题,但我还是检查了这个。
我的 git 版本:git version 1.9.3 (Apple Git-50)
OSX 优胜美地 10.10.2 (14C109)