X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=Documentation%2Fglossary.txt;h=02a9d9c18acaf1e6091049aaf6d2fd1f2490e573;hb=fe77bb1a02d5b8dd3915cd27a83b660debaecda4;hp=015d51018dd26642f8251d59c132d8bfc772e37e;hpb=0776f4cb3471bef7f156d9e615d6911747b3eba3;p=git.git diff --git a/Documentation/glossary.txt b/Documentation/glossary.txt index 015d5101..02a9d9c1 100644 --- a/Documentation/glossary.txt +++ b/Documentation/glossary.txt @@ -1,5 +1,5 @@ object:: - The unit of storage in GIT. It is uniquely identified by + The unit of storage in git. It is uniquely identified by the SHA1 of its contents. Consequently, an object can not be changed. @@ -19,32 +19,38 @@ hash:: In git's context, synonym to object name. object database:: - Stores a set of "objects", and an individial object is identified - by its object name. The object usually live in $GIT_DIR/objects/. + Stores a set of "objects", and an individual object is identified + by its object name. The objects usually live in `$GIT_DIR/objects/`. blob object:: Untyped object, e.g. the contents of a file. tree object:: - An object containing a list of blob and/or tree objects. - (A tree usually corresponds to a directory without - subdirectories). + An object containing a list of file names and modes along with refs + to the associated blob and/or tree objects. A tree is equivalent + to a directory. tree:: Either a working tree, or a tree object together with the dependent blob and tree objects (i.e. a stored representation of a working tree). +DAG:: + Directed acyclic graph. The commit objects form a directed acyclic + graph, because they have parents (directed), and the graph of commit + objects is acyclic (there is no chain which begins and ends with the + same object). + index:: A collection of files with stat information, whose contents are - stored as objects. The cache is a stored version of your working + stored as objects. The index is a stored version of your working tree. Truth be told, it can also contain a second, and even a third version of a working tree, which are used when merging. index entry:: The information regarding a particular file, stored in the index. An index entry can be unmerged, if a merge was started, but not - yet finished (i.e. if the cache contains multiple versions of + yet finished (i.e. if the index contains multiple versions of that file). unmerged index: @@ -69,7 +75,7 @@ checkout:: stored in the object database. commit:: - As a verb: The action of storing the current state of the cache in the + As a verb: The action of storing the current state of the index in the object database. The result is a revision. As a noun: Short hand for commit object. @@ -103,32 +109,46 @@ head:: branch:: A non-cyclical graph of revisions, i.e. the complete history of a particular revision, which is called the branch head. The - branch heads are stored in $GIT_DIR/refs/heads/. + branch heads are stored in `$GIT_DIR/refs/heads/`. + +master:: + The default branch. Whenever you create a git repository, a branch + named "master" is created, and becomes the active branch. In most + cases, this contains the local development. + +origin:: + The default upstream branch. Most projects have one upstream + project which they track, and by default 'origin' is used for + that purpose. New updates from upstream will be fetched into + this branch; you should never commit to it yourself. ref:: A 40-byte hex representation of a SHA1 pointing to a particular - object. These may be stored in $GIT_DIR/refs/. + object. These may be stored in `$GIT_DIR/refs/`. head ref:: A ref pointing to a head. Often, this is abbreviated to "head". - Head refs are stored in $GIT_DIR/refs/heads/. + Head refs are stored in `$GIT_DIR/refs/heads/`. tree-ish:: A ref pointing to either a commit object, a tree object, or a tag object pointing to a tag or commit or tree object. ent:: - Favorite synonym to "tree-ish" by some total geeks. + Favorite synonym to "tree-ish" by some total geeks. See + `http://en.wikipedia.org/wiki/Ent_(Middle-earth)` for an in-depth + explanation. tag object:: - An object containing a ref pointing to another object. It can - contain a (PGP) signature, in which case it is called "signed + An object containing a ref pointing to another object, which can + contain a message just like a commit object. It can also + contain a (PGP) signature, in which case it is called a "signed tag object". tag:: A ref pointing to a tag or commit object. In contrast to a head, a tag is not changed by a commit. Tags (not tag objects) are - stored in $GIT_DIR/refs/tags/. A git tag has nothing to do with + stored in `$GIT_DIR/refs/tags/`. A git tag has nothing to do with a Lisp tag (which is called object type in git's context). A tag is most typically used to mark a particular point in the commit ancestry chain. @@ -139,10 +159,23 @@ merge:: merge uses heuristics to accomplish that. Evidently, an automatic merge can fail. +octopus:: + To merge more than two branches. Also denotes an intelligent + predator. + resolve:: The action of fixing up manually what a failed automatic merge left behind. +rewind:: + To throw away part of the development, i.e. to assign the head to + an earlier revision. + +rebase:: + To clean a branch by starting from the head of the main line of + development ("master"), and reapply the (possibly cherry-picked) + changes from that branch. + repository:: A collection of refs together with an object database containing all objects, which are reachable from the refs, possibly accompanied @@ -196,6 +229,10 @@ pack index:: The list of identifiers, and other information, of the objects in a pack, to assist in efficiently accessing the contents of a pack. +core git:: + Fundamental data structures and utilities of git. Exposes only + limited source code management tools. + plumbing:: Cute name for core git.