Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

How do I checkout only one folder from my repository?

John Garcia
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 20, 2014

A Bitbucket subscriber writes:

Hi,
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

0 votes
Answer accepted
John Garcia
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 20, 2014

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 Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events