How to selectively clone a git repository

I am new to Git. I want to clone a large remote repository lets say xyzcodebase. The structure of repo is like I have src folders for different functional areas as shown below.

|__ Func area 1
|__ Func area 2

I work on Functional area 2 hence while cloning I don’t want code from Functional area 1 (large size) which will save lots of my time. So that after cloning I will have only Functional area 2 source code on my local repository.

  • Aptana 3, GitHub can clone but can't commit
  • Mercurial clone from a branch
  • Git : The remote end hung up unexpectedly
  • Is possible clone only a folder from remote repository?
  • Netbeans, git, reject hostKey?
  • Gerrit unable to clone
  • Is there a way to accomplish such selective cloning of git repository?

    Thanks in advance for your help

  • Why git don't ignore contents of surefire-reports\ folder in maven target folder?
  • How to blame a deleted file in git?
  • How to discover last related commit based on blob/tree hash?
  • Error building trees error prevents committing to branch
  • Where to hook a coding convention script?
  • Azure git deployment - missing references in 2nd assembly
  • 2 Solutions collect form web for “How to selectively clone a git repository”

    No, there is no way to only clone one directory. Git stores history as changes to whole repository instead of storing only subtrees as SVN.

    If your project contains multiple functionalities, then maybe it would be better to split it into some sub-projects, with different repositories, and then include other repositories as submodules in master project. But it depends how your project is organized.

    This is a hacky solution that might in special cases help with your issue. Specifically if you are only interested in a single file you could simply download it from the console (in Unix) via wget:

    You can get the link of a specific file by navigating to it in github and then click on “raw”.

    Git Baby is a git and github fan, let's start git clone.