aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/gitrepository-layout.txt
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2013-02-01 11:26:35 -0800
committerJunio C Hamano <gitster@pobox.com>2013-02-01 13:54:46 -0800
commit7a7d05b62e7d438582395d3d149ecbbebbaa6062 (patch)
tree132a420bfdca3f71da2b8aeb62e282c6a1d9ba35 /Documentation/gitrepository-layout.txt
parent19b4d3d4ff40c5418460fb61b0013713211b427b (diff)
downloadgit-7a7d05b62e7d438582395d3d149ecbbebbaa6062.tar.gz
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 <gitster@pobox.com>
Diffstat (limited to 'Documentation/gitrepository-layout.txt')
-rw-r--r--Documentation/gitrepository-layout.txt24
1 files changed, 18 insertions, 6 deletions
diff --git a/Documentation/gitrepository-layout.txt b/Documentation/gitrepository-layout.txt
index 5f8d5456fa..f0eef765b9 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
-`<project>.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: <path>`, 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 `<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