如何在不克隆整个仓库的情况下克隆一个子目录?

时间:2017-11-03 15:48:09

标签: git

我充其量只是一个休闲的git用户。我检查了其他问题,他们都建议稀疏结账,但无论如何克隆了我的整个回购,这是我试图避免的。

我可以访问一个非常大的repo,它包含我需要的一个小子目录。每次我克隆回购时,都需要很长的时间来接收并占用大量的空间。如何只克隆子文件夹,而不是所有内容?

repo在我使用git bash la la git clone git@serverhost.com:repo.git克隆的服务器上,我需要文件夹repo/subfolder。我在Windows上。

同样,我需要这个repo的不同分支,我通过仅指定分支来克隆它。该分支包含五个小文件,但它再次克隆了整个仓库。我可以获取分支文件吗?

通过克隆我的意思是,它计算对象,压缩它们,然后接收所有对象。这是我想要避免的部分;检查文件不是我的顾虑。

1 个答案:

答案 0 :(得分:0)

根本不可能。 Git总是克隆整棵树。 --depth 0 -- branch xyz是你能做的最好的事情。

分支也是整棵树。没有#34的概念;这个版本只包含5个文件" (这是颠覆的事情,但不是git)。

如果你不是一个随便的git用户,就像你自称,但是一个git专家的灰熊老头,你理论上可以破解实际的git网络协议(通过编写你自己的低级客户端并与存储库交谈直接),但它可能是相当的旅程...