gitrepository-layout(5)
=======================

NAME
----
gitrepository-layout - Git Repository Layout

SYNOPSIS
--------
$GIT_DIR/*

DESCRIPTION
-----------

A Git repository comes in two different flavours:

 * a `.git` directory at the root of the working tree;

 * a `<project>.git` directory that is a 'bare' repository
   (i.e. without its own working tree), that is typically used for
   exchanging histories with others by pushing into it and fetching
   from it.

*Note*: Also you can have a plain text file `.git` at the root of
your working tree, containing `gitdir: <path>` to point at the real
directory that has the repository.  This mechanism is often used for
a working tree of a submodule checkout, to allow you in the
containing superproject to `git checkout` a branch that does not
have the submodule.  The `checkout` has to remove the entire
submodule working tree, without losing the submodule repository.

These things may exist in a Git repository.

objects::
	Object store associated with this repository.  Usually
	an object store is self sufficient (i.e. all the objects
	that are referred to by an object found in it are also
	found in it), but there are a few ways to violate it.
+
. You could have an incomplete but locally usable repository
by creating a shallow clone.  See linkgit:git-clone[1].
. You could be using the `objects/info/alternates` or
`$GIT_ALTERNATE_OBJECT_DIRECTORIES` mechanisms to 'borrow'
objects from other object stores.  A repository with this kind
of incomplete object store is not suitable to be published for
use with dumb transports but otherwise is OK as long as
`objects/info/alternates` points at the object stores it
borrows from.

objects/[0-9a-f][0-9a-f]::
	A newly created object is stored in its own file.
	The objects are splayed over 256 subdirectories using
	the first two characters of the sha1 object name to
	keep the number of directory entries in `objects`
	itself to a manageable number. Objects found
	here are often called 'unpacked' (or 'loose') objects.

objects/pack::
	Packs (files that store many object in compressed form,
	along with index files to allow them to be randomly
	accessed) are found in this directory.

objects/info::
	Additional information about the object store is
	recorded in this directory.

objects/info/packs::
	This file is to help dumb transports discover what packs
	are available in this object store.  Whenever a pack is
	added or removed, `git update-server-info` should be run
	to keep this file up-to-date if the repository is
	published for dumb transports.  'git repack' does this
	by default.

objects/info/alternates::
	This file records paths to alternate object stores that
	this object store borrows objects from, one pathname per
	line. Note that not only native Git tools use it locally,
	but the HTTP fetcher also tries to use it remotely; this
	will usually work if you have relative paths (relative
	to the object database, not to the repository!) in your
	alternates file, but it will not work if you use absolute
	paths unless the absolute path in filesystem and web URL
	is the same. See also 'objects/info/http-alternates'.

objects/info/http-alternates::
	This file records URLs to alternate object stores that
	this object store borrows objects from, to be used when
	the repository is fetched over HTTP.

refs::
	References are stored in subdirectories of this
	directory.  The 'git prune' command knows to preserve
	objects reachable from refs found in this directory and
	its subdirectories.

refs/heads/`name`::
	records tip-of-the-tree commit objects of branch `name`

refs/tags/`name`::
	records any object name (not necessarily a commit
	object, or a tag object that points at a commit object).

refs/remotes/`name`::
	records tip-of-the-tree commit objects of branches copied
	from a remote repository.

refs/replace/`<obj-sha1>`::
	records the SHA-1 of the object that replaces `<obj-sha1>`.
	This is similar to info/grafts and is internally used and
	maintained by linkgit:git-replace[1]. Such refs can be exchanged
	between repositories while grafts are not.

packed-refs::
	records the same information as refs/heads/, refs/tags/,
	and friends record in a more efficient way.  See
	linkgit:git-pack-refs[1].

HEAD::
	A symref (see glossary) to the `refs/heads/` namespace
	describing the currently active branch.  It does not mean
	much if the repository is not associated with any working tree
	(i.e. a 'bare' repository), but a valid Git repository
	*must* have the HEAD file; some porcelains may use it to
	guess the designated "default" branch of the repository
	(usually 'master').  It is legal if the named branch
	'name' does not (yet) exist.  In some legacy setups, it is
	a symbolic link instead of a symref that points at the current
	branch.
+
HEAD can also record a specific commit directly, instead of
being a symref to point at the current branch.  Such a state
is often called 'detached HEAD.'  See linkgit:git-checkout[1]
for details.

branches::
	A slightly deprecated way to store shorthands to be used
	to specify a URL to 'git fetch', 'git pull' and 'git push'.
	A file can be stored as `branches/<name>` and then
	'name' can be given to these commands in place of
	'repository' argument.  See the REMOTES section in
	linkgit:git-fetch[1] for details.  This mechanism is legacy
	and not likely to be found in modern repositories.

hooks::
	Hooks are customization scripts used by various Git
	commands.  A handful of sample hooks are installed when
	'git init' is run, but all of them are disabled by
	default.  To enable, the `.sample` suffix has to be
	removed from the filename by renaming.
	Read linkgit:githooks[5] for more details about
	each hook.

index::
	The current index file for the repository.  It is
	usually not found in a bare repository.

info::
	Additional information about the repository is recorded
	in this directory.

info/refs::
	This file helps dumb transports discover what refs are
	available in this repository.  If the repository is
	published for dumb transports, this file should be
	regenerated by 'git update-server-info' every time a tag
	or branch is created or modified.  This is normally done
	from the `hooks/update` hook, which is run by the
	'git-receive-pack' command when you 'git push' into the
	repository.

info/grafts::
	This file records fake commit ancestry information, to
	pretend the set of parents a commit has is different
	from how the commit was actually created.  One record
	per line describes a commit and its fake parents by
	listing their 40-byte hexadecimal object names separated
	by a space and terminated by a newline.
+
Note that the grafts mechanism is outdated and can lead to problems
transferring objects between repositories; see linkgit:git-replace[1]
for a more flexible and robust system to do the same thing.

info/exclude::
	This file, by convention among Porcelains, stores the
	exclude pattern list. `.gitignore` is the per-directory
	ignore file.  'git status', 'git add', 'git rm' and
	'git clean' look at it but the core Git commands do not look
	at it.  See also: linkgit:gitignore[5].

info/sparse-checkout::
	This file stores sparse checkout patterns.
	See also: linkgit:git-read-tree[1].

remotes::
	Stores shorthands for URL and default refnames for use
	when interacting with remote repositories via 'git fetch',
	'git pull' and 'git push' commands.  See the REMOTES section
	in linkgit:git-fetch[1] for details.  This mechanism is legacy
	and not likely to be found in modern repositories.

logs::
	Records of changes made to refs are stored in this
	directory.  See linkgit:git-update-ref[1]
	for more information.

logs/refs/heads/`name`::
	Records all changes made to the branch tip named `name`.

logs/refs/tags/`name`::
	Records all changes made to the tag named `name`.

shallow::
	This is similar to `info/grafts` but is internally used
	and maintained by shallow clone mechanism.  See `--depth`
	option to linkgit:git-clone[1] and linkgit:git-fetch[1].

modules::
	Contains the git-repositories of the submodules.

SEE ALSO
--------
linkgit:git-init[1],
linkgit:git-clone[1],
linkgit:git-fetch[1],
linkgit:git-pack-refs[1],
linkgit:git-gc[1],
linkgit:git-checkout[1],
linkgit:gitglossary[7],
link:user-manual.html[The Git User's Manual]

GIT
---
Part of the linkgit:git[1] suite.
