使用Sparse Checkout,只拉取Git仓库中指定的目录

应用场景

在一个大工程里包含由不同部门开发的模块时,项目的Git仓库肯定很大,造成每次Git操作相对比较耗时,而且耗费硬盘空间。Macbook用户伤不起啊~

因为开发人员一般只关心他们部门的模块的代码,所以完全可以排除一些他完全不需要用到的目录。这时候就可以使用Git的Sparse Checkout。

操作步骤

  1. 若未拉取仓库代码的时候

    $ git init project_folder && cd project_folder    // 新建仓库并进入文件夹
    $ git remote add -f origin <url>       // <url>换成你要克隆的项目和库
    

    上面的代码会帮助你创建一个空的本地仓库,同时将远程Git Server URL加入到Git Config文件中。
    若已经拉取了代码,则不用走上面的步骤。

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

    $git config core.sparsecheckout true    // 设置允许克隆子目录
    
  3. 告诉Git哪些文件或者文件夹是你真正想关注的
    排除模式:
    编辑 .git/info/sparse-checkout

    *
    !Chromium/**
    !ChromiumRes/**
    

    包含模式:
    编辑 .git/info/sparse-checkout

    subtest*
    
  4. 从服务器上更新指定的Git文件

    $ git pull origin master    //下载
    

Git版本

至少需要Git1.7.0及以上版本

参考文章

http://www.tuicool.com/articles/QjEvQvr

发布了76 篇原创文章 · 获赞 27 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/kunyus/article/details/101367792