赞
踩
只希望从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
- ... ...
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。