应用场景
在一个大工程里包含由不同部门开发的模块时,项目的Git仓库肯定很大,造成每次Git操作相对比较耗时,而且耗费硬盘空间。Macbook用户伤不起啊~
因为开发人员一般只关心他们部门的模块的代码,所以完全可以排除一些他完全不需要用到的目录。这时候就可以使用Git的Sparse Checkout。
操作步骤
-
若未拉取仓库代码的时候
$ git init project_folder && cd project_folder // 新建仓库并进入文件夹 $ git remote add -f origin <url> // <url>换成你要克隆的项目和库
上面的代码会帮助你创建一个空的本地仓库,同时将远程Git Server URL加入到Git Config文件中。
若已经拉取了代码,则不用走上面的步骤。 -
接下来进入仓库目录,在Config中允许使用Sparse Checkout模式:
$git config core.sparsecheckout true // 设置允许克隆子目录
-
告诉Git哪些文件或者文件夹是你真正想关注的
排除模式:
编辑 .git/info/sparse-checkout* !Chromium/** !ChromiumRes/**
包含模式:
编辑 .git/info/sparse-checkoutsubtest*
-
从服务器上更新指定的Git文件
$ git pull origin master //下载
Git版本
至少需要Git1.7.0及以上版本