我正在尝试使用稀疏检查来从BitBucket存储库中签出一个目录,但是当我尝试拉取时,得到"稀疏结账不会在工作目录上留下任何条目"错误.
BitBucket存储库具有以下目录结构:
我在Windows 7笔记本电脑上的E:\ Temp\SomeProjectRepo上有一个本地目录.我想从BitBucket存储库中检出/拉出"MyProject"到我的本地目录,所以我可以在E:\ Temp\SomeProjectRepo\MyProject上工作.
所以我创建了"E:\ Temp\SomeProjectRepo"并在DOS中执行以下操作:
cd E:\Temp\SomeProjectRepogit remote add origin https://bitbucket.org/blah/blahgit initgit config core.sparsecheckout trueecho MyProject > .git/info/sparse-checkoutgit pull origin master在步骤6,我得到"稀疏结账在工作目录上没有任何条目".我曾试图在第5步(如不同的语法MyProject\,SomeProjectRepo\*,SomeProjectRepo\MyProject\,等,等),但没有奏效.
如何使用稀疏结账(或任何其他工具)才能使用" MyProject"?
hen*_*000 28
好的,我有这个工作.正如我所料,由于第5步,它无法正常工作.
以下行现在有效:
echo "MyProject/*"> .git/info/sparse-checkout
Run Code Online (Sandbox Code Playgroud)
重要的是在目录的末尾使用/,使用*并不留空间.
然后你可以再次拉或检查分支(git checkout master).
在Windows 上,该echo "..." > outfile命令以默认系统编码创建一个文件。Git 无法处理,它要求文件为ASCII。
将现有文件修改为 ASCII,假设您已经创建了它并且它不起作用:
Set-Content .git\info\sparse-checkout "MyProject/*" -Encoding Ascii
Run Code Online (Sandbox Code Playgroud)
或者从一开始就用正确的编码创建文件:
echo MyProject/* | out-file -Encoding Ascii .git/info/sparse-checkout
Run Code Online (Sandbox Code Playgroud)
在 Windows git 上查看更长的解释:“错误:稀疏结帐在工作目录上没有任何条目”