From 7a7d05b62e7d438582395d3d149ecbbebbaa6062 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Fri, 1 Feb 2013 11:26:35 -0800 Subject: [PATCH] Documentation: describe the "repository" in repository-layout Update the introductory part and concisely explain how gitfile is handled, what it is used for and for what effect. Signed-off-by: Junio C Hamano --- Documentation/gitrepository-layout.txt | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/Documentation/gitrepository-layout.txt b/Documentation/gitrepository-layout.txt index 5f8d5456f..f0eef765b 100644 --- a/Documentation/gitrepository-layout.txt +++ b/Documentation/gitrepository-layout.txt @@ -12,12 +12,24 @@ $GIT_DIR/* DESCRIPTION ----------- -You may find these things in your Git repository (`.git` -directory for a repository associated with your working tree, or -`.git` directory for a public 'bare' repository. It is -also possible to have a working tree where `.git` is a plain -ASCII file containing `gitdir: `, i.e. the path to the -real Git repository). +A Git repository comes in two different flavours: + + * a `.git` directory at the root of the working tree; + + * a `.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: ` 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 -- 2.26.2