如何从GitHub上托管的远程Git仓库中仅下载特定文件夹或目录?
举个例子说GitHub repo住在这里:
git@github.com:foobar/Test.git
Run Code Online (Sandbox Code Playgroud)
其目录结构:
Test/
??? foo/
? ??? a.py
? ??? b.py
??? bar/
??? c.py
??? d.py
Run Code Online (Sandbox Code Playgroud)
我只想下载foo文件夹而不是克隆整个Test项目.
我正在使用包含大量文件的存储库,这需要几个小时才能结账.我正在研究Git是否能够很好地使用这种类型的存储库,因为它支持稀疏检出,但我能找到的每个示例都执行以下操作:
git clone <path>
git config core.sparsecheckout true
echo <dir> > .git/info/sparse-checkout
git read-tree -m -u HEAD
Run Code Online (Sandbox Code Playgroud)
这个命令序列的问题是原始克隆也执行结帐.如果将-n添加到原始克隆命令,则read-tree命令会导致以下错误:
错误:稀疏结账不会在工作目录上留下任何条目
如何在不先检出所有文件的情况下进行稀疏结账?