tags:

views:

281

answers:

3

I already created a repository. Can I make it a bare type or shall I start over?

+6  A: 

Just move the .git folder away from the working copy.

mv /var/git/repo/repo/.git /var/git/repos/repo.git

You might want to follow that up with a

git config core.bare true

in that repository, just in case git complains about something not being right.

Bombe
how do I create a bare repo rigth from the start?
mrblah
mipadi
Or just `git init --bare myrepo.git`
Jörg W Mittag
Note that being able to do `git init --bare` as an alternative to `git --bare init` came in in v1.5.6 ~Jun 08.
Charles Bailey
+8  A: 

According to the FAQ, conversion from non-bare to bare can be done in two ways. The best one:

$ git clone --bare repo repo.git
$ rm -rf repo

To create a bare repository from scratch:

$ mkdir repo.git
$ cd repo.git
$ git --bare init
Jørn Schou-Rode
Why is the first method "easier"? The second method seems both safer *and* easier (you don't need the renames to get the same result as the first method, just `git clone --bare repo` followed by `rm -rf repo` will do).
Dan Moulding
@Dan is right, and I have modified my answer to only contain the safe *and* easy approach. With the version of git on my box (1.5.6.5), I still need to provide the target directory when calling git-clone, though.
Jørn Schou-Rode
Doesn't `git clone` set the `origin` remote to the one cloned from? In this case to `./repo`, which you `rm`'d...
Boldewyn
+2  A: 
git clone --bare repo

This will give you a new bare version of repo named repo.git. Easy, no?

Dan Moulding