git-init-db(1)
==============

NAME
----
git-init-db - Creates an empty git repository


SYNOPSIS
--------
'git-init-db' [--template=<template_directory>] [--shared]


OPTIONS
-------
--template=<template_directory>::
	Provide the directory from which templates will be used.
	The default template directory is `/usr/share/git-core/templates`.

--shared::
	Specify that the git repository is to be shared amongst several users.


DESCRIPTION
-----------
This command creates an empty git repository - basically a `.git` directory
with subdirectories for `objects`, `refs/heads`, `refs/tags`, and
template files.
An initial `HEAD` file that references the HEAD of the master branch
is also created.

If `--template=<template_directory>` is specified, `<template_directory>`
is used as the source of the template files rather than the default.
The template files include some directory structure, some suggested
"exclude patterns", and copies of non-executing "hook" files.  The
suggested patterns and hook files are all modifiable and extensible.

If the `$GIT_DIR` environment variable is set then it specifies a path
to use instead of `./.git` for the base of the repository.

If the object storage directory is specified via the `$GIT_OBJECT_DIRECTORY`
environment variable then the sha1 directories are created underneath -
otherwise the default `$GIT_DIR/objects` directory is used.

A shared repository allows users belonging to the same group to push into that
repository. When specifying `--shared` the config variable "core.sharedRepository" 
is set to 'true' so that directories under `$GIT_DIR` are made group writable
(and g+sx, since the git group may be not the primary group of all users).

Running `git-init-db` in an existing repository is safe. It will not overwrite
things that are already there. The primary reason for rerunning `git-init-db`
is to pick up newly added templates.



EXAMPLES
--------

Start a new git repository for an existing code base::
+
----------------
$ cd /path/to/my/codebase
$ git-init-db   <1>
$ git-add .     <2>
----------------
+
<1> prepare /path/to/my/codebase/.git directory
<2> add all existing file to the index


Author
------
Written by Linus Torvalds <torvalds@osdl.org>

Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.

GIT
---
Part of the gitlink:git[7] suite

