使用Sparse Checkout 排除跟踪Git仓库中指定的目录或文件

应用场景

在一个大工程里包含由不同部门开发的模块时,项目的Git仓库肯定很大,造成每次Git操作相对比较耗时。因为开发人员一般只关心他们部门的模块的代码,所以完全可以排除一些他完全不需要用到的目录。这时候就可以使用Git的Sparse Checkout。

操作步骤

1、若未拉取仓库代码时

1
2
3
4
$ mkdir project_folder
$ cd project_folder
$ git init
$ git remote add -f origin <url>

上面代码会帮助你创建一个空的本地仓库,同时将远程Git Server URL加入到Git Config文件中。

若已经拉取了代码,则不用走上面的步骤。

2、进入仓库目录,在Config中允许使用Sparse Checkout模式:

1
$ git config core.sparsecheckout true 

3、告诉Git哪些文件或文件夹是你需要排除的

编辑 .git/info/sparse-checkout

1
2
3
*
!Chromium/**
!ChromiumRes/**

以上则表示排除了Chromium和ChromiumRes两个文件夹。这样git就会排除掉这两个文件夹。

同样也可以利用此功能下载Git项目内指定文件或文件夹

只需要编辑.git/info/sparse-checkout文件,加入需要下载的文件或文件夹即可