Getting a working copy of a bare repository

Jonathan Allard picture Jonathan Allard · Sep 16, 2012 · Viewed 41k times · Source

I have a server on which I have a bare repository for pushing. However, my server needs to have a working copy of the master branch.

How do I get a working copy and that only from a bare repository?

Answer

user4815162342 picture user4815162342 · Sep 16, 2012

You can simply clone the repository to another directory on the same machine:

git clone /bare/repo/dir

The current directory will become a non-bare clone of your repo, and you'll get a checkout of the master branch automatically. Then use the usual commands like git pull to update it as needed.

As a side benefit, this operation is very efficient — if you specify a local directory to git clone, git will use hard links to share the read-only parts of the object databases of the two repos.