Merge branch 'maint'
[gitweb.git] / Documentation / repository-layout.txt
index 0347cabbb33756b1b0a5f572346684321f6f3099..275d18bb545f3b14ad1f7de50d4224f184a507f8 100644 (file)
@@ -3,7 +3,7 @@ git repository layout
 
 You may find these things in your git repository (`.git`
 directory for a repository associated with your working tree, or
-`'project'.git` directory for a public 'naked' repository).
+`'project'.git` directory for a public 'bare' repository).
 
 objects::
        Object store associated with this repository.  Usually
@@ -73,7 +73,7 @@ HEAD::
        A symlink of the form `refs/heads/'name'` to point at
        the current branch, if exists.  It does not mean much if
        the repository is not associated with any working tree
-       (i.e. 'naked' repository), but a valid git repository
+       (i.e. a 'bare' repository), but a valid git repository
        *must* have such a symlink here.  It is legal if the
        named branch 'name' does not (yet) exist.
 
@@ -89,10 +89,12 @@ hooks::
        commands.  A handful of sample hooks are installed when
        `git init-db` is run, but all of them are disabled by
        default.  To enable, they need to be made executable.
+       Read link:hooks.html[hooks] for more details about
+       each hook.
 
 index::
        The current index file for the repository.  It is
-       usually not found in a naked repository.
+       usually not found in a bare repository.
 
 info::
        Additional information about the repository is recorded
@@ -118,11 +120,24 @@ info/grafts::
 
 info/exclude::
        This file, by convention among Porcelains, stores the
-       exclude pattern list.  `git status` looks at it, but
-       otherwise it is not looked at by any of the core git
-       commands.
+       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: gitlink:git-ls-files[1] `--exclude-from`
+       and `--exclude-per-directory`.
 
 remotes::
        Stores shorthands to be used to give URL and default
        refnames to interact with remote repository to `git
        fetch`, `git pull` and `git push` commands.
+
+logs::
+       Records of changes made to refs are stored in this
+       directory.  See the documentation on git-update-ref
+       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`.