Git克隆部分文件

原文地址:https://blog.csdn.net/u022812849/article/details/53025248

Git克隆部分文件

需求

只希望从Git仓库里取指定的文件或者文件夹出来。在SVN里面,这非常容易实现,因为SVN基于文件方式存储,而Git却是基于元数据方式分布式存储文件信息的,它会在每一次Clone的时候将所有信息都取回到本地,即相当于在你的机器上生成一个克隆版的版本库。

解决方案

在Git1.7.0以前,这无法实现,但是幸运的是在Git1.7.0以后加入了Sparse Checkout模式,这使得Check Out指定文件或者文件夹成为可能。

实例

下面以克隆开源项目druid下的/druid/doc目录为例。

$ mkdir druid
$ cd druid  
$ git init // 初始化空仓库
$ git remote add -f origin https://github.com/alibaba/druid.git // 关联远程地址
$ git config core.sparsecheckout true // 开启Sparse Checkout模式
$ echo "druid/doc" >> .git/info/sparse-checkout // 设置需Check Out的文件
$ git pull origin master // Check Out
... ...
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

总结

  1. 指定远程仓库
  2. 指定克隆模式: 稀疏克隆模式
  3. 指定克隆的文件夹(或者文件)
  4. 拉取远程文件

猜你喜欢

转载自blog.csdn.net/anton8801/article/details/79878865