How do I checkout only one folder from my repository?

A Bitbucket subscriber writes:

I want to be able to pull only a specific file folder from the repo after
I have done a git init in a particular folder on my local machine.
I have several hundred folders from which I am interested in only one at a

time for a deployment.
However, I have not been able to come across any git command that enables
me to do so.

1 answer

1 accepted

It's important to remember that every time you clone or checkout a repository, a full copy of (at least) the entire repository's state at the specified commit is delivered to your machine.

Considering that, you can do the following:

git clone <repo-url> --depth 1 --bare 
git --work-tree=/path/to/checkout checkout HEAD -- sub/directory

The first line will clone the full current state of your repository, omitting any history, without creating a work-folder.

The second line unpacks the folder desired.

We strongly recommend making any commits to the files in this state; it's much better to work on a full copy of a working directory.

Suggest an answer

Log in or Join to answer
Community showcase
Louis De Jaeger
Posted Thursday in Off-topic

Friday fun: your best joke

Hi all Lets make this Friday fun really fun and post one (or more) of your best jokes! The joke can be about an Atlassian product, or just a really fun joke you want to share! I’m not the best j...

189 views 12 3
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot