是否可能只从远程存储库克隆一个文件夹?

时间:2013-01-25 17:04:35

标签: git download clone

我想从远程git存储库中只下载2个文件夹。在这种情况下是ubuntu内核git存储库 如果我只想要2个文件夹,那么下载所有内核会浪费时间和带宽 有没有办法用git做到这一点?

3 个答案:

答案 0 :(得分:2)

不,不是你问的方式。但你可以做其中一个:

  1. 下载tarball - 存储库的web-ui应该提供这样的选项,否则你可以使用git archiveman page,谷歌和SO将帮助你使用它);或
  2. 使用--depth开关进行浅层克隆;这将只下载给定数量的提交,因此您无法获得整个历史记录。 git clone manpage有更多详细信息。

答案 1 :(得分:1)

不,你不能创建部分克隆

答案 2 :(得分:1)

似乎Git 不能实现这一点。

我认为“ Sparse Checkout ”会有效,但正如@ HolgerJust所说:

  

这仍将下载完整的远程存储库。它不会将所有文件签出到工作副本中,但它们仍可在本地索引中使用。

他是对的。


是的,你可以。您可以使用Sparse Checkout

这是一个简单的例子:

$ mkdir destinationFolder
$ cd destinationFolder
$ git init
$ git remote add origin git@github.com:Kjuly/iPokeMon.git
$ git config core.sparseCheckout true
$ echo 'Pokemon/Models/*' > .git/info/sparse-checkout
... echo more if you need
$ git pull origin dev

最后,你会得到文件:

  

destinationFolder
   - 口袋妖怪
   - - 模特