如果您不想下载不需要的文件。
答案 0 :(得分:8)
git clone
总是克隆整个存储库,除非您指定--depth <n>
参数将存储库限制为最新的 n 版本(所谓的“浅层克隆”)。
但是,您可以创建本地存储库并使用git fetch
仅获取远程存储库的部分内容。
cd /path/foo
git init
git remote add origin <some url>
git fetch origin <some branch>
这将复制git clone
的大部分内容,但将其限制为您在命令行中指定的分支。 (我不确定进一步的细节,如跟踪分支和标签等。)
答案 1 :(得分:3)
你的问题标题和摘要有点问两个不同的问题,因为正如Bombe所说,除非使用--depth
选项,否则克隆总是获取所有内容。
我不确定你真正想要什么,但另一个选择是使用--no-checkout
(或-n
)标记进行克隆。默认情况下,git
将检出存储库的默认分支(由远程存储库中的HEAD
ref确定 - 它并不总是master
)。如果您使用-n
标记git
,则不会为您签出分支,因此您可以查看您想要的内容:
git clone -n <some url> foo
cd foo
git checkout <some branch>