There are times when all I want or need from a Git repo are a handful files. For example, I use the awesome
git-prompt scripts included in the Git project. Thus, I don't need the entire Git repo taking up space.
This is exactly what sparse checkouts enable.
Here are the steps to create a "sparse" Git local repository that only includes the "Completion" scripts.
Step 1: Create a directory.
I named mine
git-completion. You can name the directory whatever you want.
mkdir git-completion cd git-completion
Step 2: Initialize a Git repository
Step 3: Enable Sparse Checkouts
git config core.sparsecheckout true
Step 4: Tell Git which directories you want
echo contrib/completion/ >> .git/info/sparse-checkout
Or you can modify the
.git/info/sparse-checkout file directly. Either way is fine.
Step 5: Add the remote
git remote add -f origin https://github.com/git/git.git
Final Step: Fetch the files
git pull origin master
You should now have the
contrib/completion directory. No other Git source files exist in your local copy.
Sourcing the files
source ~/Development/git-completion/contrib/completion/git-completion.bash source ~/Development/git-completion/contrib/completion/git-prompt.sh