A bare repository is the way to publish your changes to the public.
git-daemon and http-clones use a bare repository that only contains
adminsitrative files.
From man page
--bare Make a bare GIT repository. That is, instead of creating
<directory> and placing the administrative files in
<directory>/.git, make the <directory> itself the $GIT_DIR. This
obviously implies the -n because there is nowhere to check out
the working tree. Also the branch heads at the remote are copied
directly to corresponding local branch heads, without mapping
them to refs/remotes/origin/. When this option is used, neither
remote-tracking branches nor the related configuration variables
are created.
On Mon, Nov 12, 2007 at 02:11:58PM +0100, David Kastrup wrote: