通常在GitHub上看到好的代码,我们直接clone就可以拿下来。不过有些仓库非常大,比如一个Google或者Microsoft的sample合集,只需要用到一个子目录里的东西,不拿整个仓库,怎么办?
搜索StackOverflow,会看到有人提到sparse checkout。其实不行!试了下发现,依然需要拿到整个git仓库(.git目录),时间都耗在这里了。唯一的区别就是不用把所有的东西都checkout出来。当我们拿到了.git目录,即使没有网络,也可以完成所有操作。
解决的方法是用SVN
下载TortoiseSVN。安装的时候记得把命令行勾上,默认不装。
假设我需要获取https://github.com/dynamsoft-dbr/cmake下的images目录。只需要用命令
svn export https://github.com/dynamsoft-dbr/cmake.git/trunk/images
就可以了。把trunk添加到仓库的链接后,然后加上子目录的路径。