Merge branch 'master' into js/diff-ni
[gitweb.git] / Documentation / glossary.txt
index 39c90ad7a67cbceb83c41ee8dfe91d7b870e9e7a..d20eb6270cd795ab61b281154a7e24070519b7fb 100644 (file)
@@ -86,7 +86,7 @@ directory::
 ent::
        Favorite synonym to "tree-ish" by some total geeks. See
        `http://en.wikipedia.org/wiki/Ent_(Middle-earth)` for an in-depth
-       explanation.
+       explanation.  Avoid this term, not to confuse people.
 
 fast forward::
        A fast-forward is a special type of merge where you have
@@ -109,6 +109,13 @@ file system::
 git archive::
        Synonym for repository (for arch people).
 
+grafts::
+       Grafts enables two otherwise different lines of development to be
+       joined together by recording fake ancestry information for commits.
+       This way you can make git pretend the set of parents a commit
+       has is different from what was recorded when the commit was created.
+       Configured via the `.git/info/grafts` file.
+
 hash::
        In git's context, synonym to object name.
 
@@ -172,7 +179,7 @@ object name::
        character hexadecimal encoding of the hash of the object (possibly
        followed by a white space).
 
-object type:
+object type::
        One of the identifiers "commit","tree","tag" and "blob" describing
        the type of an object.
 
@@ -181,11 +188,12 @@ octopus::
        predator.
 
 origin::
-       The default upstream tracking branch. Most projects have at
+       The default upstream repository. Most projects have at
        least one upstream project which they track. By default
        'origin' is used for that purpose.  New upstream updates
-       will be fetched into this branch; you should never commit
-       to it yourself.
+       will be fetched into remote tracking branches named
+       origin/name-of-upstream-branch, which you can see using
+       "git branch -r".
 
 pack::
        A set of objects which have been compressed into one file (to save
@@ -227,8 +235,11 @@ push::
        local head, the push fails.
 
 reachable::
-       An object is reachable from a ref/commit/tree/tag, if there is a
-       chain leading from the latter to the former.
+       All of the ancestors of a given commit are said to be reachable from
+       that commit.  More generally, one object is reachable from another if
+       we can reach the one from the other by a chain that follows tags to
+       whatever they tag, commits to their parents or trees, and trees to the
+       trees or blobs that they contain.
 
 rebase::
        To clean a branch by starting from the head of the main line of
@@ -248,7 +259,7 @@ refspec::
        means "grab the master branch head from the $URL and store
        it as my origin branch head".
        And `git push $URL refs/heads/master:refs/heads/to-upstream`
-       means "publish my master branch head as to-upstream master head
+       means "publish my master branch head as to-upstream branch
        at $URL".   See also gitlink:git-push[1]
 
 repository::
@@ -275,6 +286,25 @@ SCM::
 SHA1::
        Synonym for object name.
 
+shallow repository::
+       A shallow repository has an incomplete history some of
+       whose commits have parents cauterized away (in other
+       words, git is told to pretend that these commits do not
+       have the parents, even though they are recorded in the
+       commit object).  This is sometimes useful when you are
+       interested only in the recent history of a project even
+       though the real history recorded in the upstream is
+       much larger.  A shallow repository is created by giving
+       `--depth` option to gitlink:git-clone[1], and its
+       history can be later deepened with gitlink:git-fetch[1].
+
+symref::
+       Symbolic reference: instead of containing the SHA1 id itself, it
+       is of the format 'ref: refs/some/thing' and when referenced, it
+       recursively dereferences to this reference. 'HEAD' is a prime
+       example of a symref. Symbolic references are manipulated with
+       the gitlink:git-symbolic-ref[1] command.
+
 topic branch::
        A regular git branch that is used by a developer to
        identify a conceptual line of development.  Since branches
@@ -317,7 +347,7 @@ tag::
        A tag is most typically used to mark a particular point in the
        commit ancestry chain.
 
-unmerged index:
+unmerged index::
        An index which contains unmerged index entries.
 
 working tree::