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.
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:
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.
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::
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
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.