object::
	The unit of storage in git. It is uniquely identified by
	the SHA1 of its contents. Consequently, an object can not
	be changed.

object name::
	The unique identifier of an object. The hash of the object's contents
	using the Secure Hash Algorithm 1 and usually represented by the 40
	character hexadecimal encoding of the hash of the object (possibly
	followed by a white space).

SHA1::
	Synonym for object name.

object identifier::
	Synonym for object name.

hash::
	In git's context, synonym to object name.

object database::
	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 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 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 index contains multiple versions of
	that file).

unmerged index:
	An index which contains unmerged index entries.

cache::
	Obsolete for: index.

working tree::
	The set of files and directories currently being worked on,
	i.e. you can work in your working tree without using git at all.

directory::
	The list you get with "ls" :-)

revision::
	A particular state of files and directories which was stored in
	the object database. It is referenced by a commit object.

checkout::
	The action of updating the working tree to a revision which was
	stored in the object database.

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

commit object::
	An object which contains the information about a particular
	revision, such as parents, committer, author, date and the
	tree object which corresponds to the top directory of the
	stored revision.

parent::
	A commit object contains a (possibly empty) list of the logical
	predecessor(s) in the line of development, i.e. its parents.

changeset::
	BitKeeper/cvsps speak for "commit". Since git does not store
	changes, but states, it really does not make sense to use
	the term "changesets" with git.

clean::
	A working tree is clean, if it corresponds to the revision
	referenced by the current head.

dirty::
	A working tree is said to be dirty if it contains modifications
	which have not been committed to the current branch.

head::
	The top of a branch. It contains a ref to the corresponding
	commit object.

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/`.

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/`.

head ref::
	A ref pointing to a head. Often, this is abbreviated to "head".
	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. 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, 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
	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.

merge::
	To merge branches means to try to accumulate the changes since a
	common ancestor and apply them to the first branch. An automatic
	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
	by meta data from one or more porcelains. A repository can
	share an object database with other repositories.

git archive::
	Synonym for repository (for arch people).

file system::
	Linus Torvalds originally designed git to be a user space file
	system, i.e. the infrastructure to hold files and directories.
	That ensured the efficiency and speed of git.

alternate object database::
	Via the alternates mechanism, a repository can inherit part of its
	object database from another object database, which is called
	"alternate".

reachable::
	An object is reachable from a ref/commit/tree/tag, if there is a
	chain leading from the latter to the former.

chain::
	A list of objects, where each object in the list contains a
	reference to its successor (for example, the successor of a commit
	could be one of its parents).

fetch::
	Fetching a branch means to get the branch's head ref from a
	remote repository, to find out which objects are missing from
	the local object database, and to get them, too.

pull::
	Pulling a branch means to fetch it and merge it.

push::
	Pushing a branch means to get the branch's head ref from a remote
	repository, find out if it is an ancestor to the branch's local
	head ref is a direct, and in that case, putting all objects, which
	are reachable from the local head ref, and which are missing from
	the remote repository, into the remote object database, and updating
	the remote head ref. If the remote head is not an ancestor to the
	local head, the push fails.

pack::
	A set of objects which have been compressed into one file (to save
	space or to transmit them efficiently).

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.

porcelain::
	Cute name for programs and program suites depending on core git,
	presenting a high level access to core git. Porcelains expose
	more of a SCM interface than the plumbing.

object type:
	One of the identifiers "commit","tree","tag" and "blob" describing
	the type of an object.

SCM::
	Source code management (tool).

dircache::
	You are *waaaaay* behind.

