I have a git repo where I just wanted a specific folder, not the entire repo, cloned to one of my virtual machines. Git doesn’t handle this straightforwardly, but thanks to this article I found there is a roundabout way of doing it., by combining a git sparse checkout and a git shallow checkout.
Below are the commands to run (I ran these directly in my home directory.) Replace FOLDER with the folder from within the repository you wish to clone.
git init <repo> cd <repo> git remote add origin <url to remote repo> git config core.sparsecheckout true echo "FOLDER/*" >> .git/info/sparse-checkout git pull --depth=1 origin master
Success! Now this particular machine only has the folder within the repo I want, not the entire git repository.