1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
\r
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
\r
5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
\r
6 <meta name="generator" content="AsciiDoc 7.0.1" />
\r
7 <style type="text/css">
\r
9 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
\r
11 border: 1px solid red;
\r
16 margin: 1em 5% 1em 5%;
\r
20 a:visited { color: fuchsia; }
\r
34 h1, h2, h3, h4, h5, h6 {
\r
36 font-family: sans-serif;
\r
38 margin-bottom: 0.5em;
\r
43 border-bottom: 2px solid silver;
\r
46 border-bottom: 2px solid silver;
\r
56 border: 1px solid silver;
\r
61 margin-bottom: 0.5em;
\r
71 font-family: sans-serif;
\r
78 font-family: sans-serif;
\r
82 font-family: sans-serif;
\r
84 border-top: 2px solid silver;
\r
90 padding-bottom: 0.5em;
\r
94 padding-bottom: 0.5em;
\r
98 div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
\r
99 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
\r
100 div.admonitionblock {
\r
103 margin-bottom: 1.5em;
\r
105 div.admonitionblock {
\r
107 margin-bottom: 2.5em;
\r
110 div.content { /* Block element content. */
\r
114 /* Block element titles. */
\r
115 div.title, caption.title {
\r
116 font-family: sans-serif;
\r
120 margin-bottom: 0.5em;
\r
126 td div.title:first-child {
\r
129 div.content div.title:first-child {
\r
132 div.content + div.title {
\r
136 div.sidebarblock > div.content {
\r
137 background: #ffffee;
\r
138 border: 1px solid silver;
\r
142 div.listingblock > div.content {
\r
143 border: 1px solid silver;
\r
144 background: #f4f4f4;
\r
148 div.quoteblock > div.content {
\r
149 padding-left: 2.0em;
\r
151 div.quoteblock .attribution {
\r
155 div.admonitionblock .icon {
\r
156 vertical-align: top;
\r
159 text-decoration: underline;
\r
161 padding-right: 0.5em;
\r
163 div.admonitionblock td.content {
\r
164 padding-left: 0.5em;
\r
165 border-left: 2px solid silver;
\r
168 div.exampleblock > div.content {
\r
169 border-left: 2px solid silver;
\r
173 div.verseblock div.content {
\r
177 div.imageblock div.content { padding-left: 0; }
\r
178 div.imageblock img { border: 1px solid silver; }
\r
179 span.image img { border-style: none; }
\r
183 margin-bottom: 0.8em;
\r
188 font-style: italic;
\r
190 dd > *:first-child {
\r
195 list-style-position: outside;
\r
198 list-style-type: lower-alpha;
\r
201 div.tableblock > table {
\r
202 border-color: #527bbd;
\r
206 font-family: sans-serif;
\r
215 margin-bottom: 0.8em;
\r
218 vertical-align: top;
\r
219 font-style: italic;
\r
220 padding-right: 0.8em;
\r
223 vertical-align: top;
\r
227 div#footer-badges { display: none; }
\r
229 /* Workarounds for IE6's broken and incomplete CSS2. */
\r
231 div.sidebar-content {
\r
232 background: #ffffee;
\r
233 border: 1px solid silver;
\r
236 div.sidebar-title, div.image-title {
\r
237 font-family: sans-serif;
\r
240 margin-bottom: 0.5em;
\r
243 div.listingblock div.content {
\r
244 border: 1px solid silver;
\r
245 background: #f4f4f4;
\r
249 div.quoteblock-content {
\r
250 padding-left: 2.0em;
\r
253 div.exampleblock-content {
\r
254 border-left: 2px solid silver;
\r
255 padding-left: 0.5em;
\r
258 <title>GIT Glossary</title>
\r
262 <h1>GIT Glossary</h1>
\r
264 <div id="preamble">
\r
265 <div class="sectionbody">
\r
266 <p>This list is sorted alphabetically:</p>
\r
269 <a id="ref_alternate_object_database"></a>alternate object database
\r
273 Via the alternates mechanism, a <a href="#ref_repository">repository</a> can
\r
274 inherit part of its <a href="#ref_object_database">object database</a> from another
\r
275 <a href="#ref_object_database">object database</a>, which is called "alternate".
\r
279 <a id="ref_blob_object"></a>blob object
\r
283 Untyped <a href="#ref_object">object</a>, e.g. the contents of a file.
\r
287 <a id="ref_branch"></a>branch
\r
291 A non-cyclical graph of revisions, i.e. the complete history of a
\r
292 particular <a href="#ref_revision">revision</a>, which is called the
\r
293 <a href="#ref_branch">branch</a> <a href="#ref_head">head</a>. The <a href="#ref_branch">branch</a> heads
\r
294 are stored in <tt>$GIT_DIR/refs/heads/</tt>.
\r
298 <a id="ref_cache"></a>cache
\r
302 Obsolete for: <a href="#ref_index">index</a>.
\r
306 <a id="ref_chain"></a>chain
\r
310 A list of objects, where each <a href="#ref_object">object</a> in the list contains
\r
311 a reference to its successor (for example, the successor of a
\r
312 <a href="#ref_commit">commit</a> could be one of its parents).
\r
316 <a id="ref_changeset"></a>changeset
\r
320 BitKeeper/cvsps speak for "<a href="#ref_commit">commit</a>". Since git does not
\r
321 store changes, but states, it really does not make sense to use the term
\r
322 "changesets" with git.
\r
326 <a id="ref_checkout"></a>checkout
\r
330 The action of updating the <a href="#ref_working_tree">working tree</a> to a
\r
331 <a href="#ref_revision">revision</a> which was stored in the
\r
332 <a href="#ref_object_database">object database</a>.
\r
336 <a id="ref_clean"></a>clean
\r
340 A <a href="#ref_working_tree">working tree</a> is <a href="#ref_clean">clean</a>, if it
\r
341 corresponds to the <a href="#ref_revision">revision</a> referenced by the current
\r
342 <a href="#ref_head">head</a>.
\r
346 <a id="ref_commit"></a>commit
\r
350 As a verb: The action of storing the current state of the
\r
351 <a href="#ref_index">index</a> in the <a href="#ref_object_database">object database</a>. The
\r
352 result is a <a href="#ref_revision">revision</a>. As a noun: Short hand for
\r
353 <a href="#ref_commit_object">commit object</a>.
\r
357 <a id="ref_commit_object"></a>commit object
\r
361 An <a href="#ref_object">object</a> which contains the information about a
\r
362 particular <a href="#ref_revision">revision</a>, such as parents, committer,
\r
363 author, date and the <a href="#ref_tree_object">tree object</a> which corresponds
\r
364 to the top <a href="#ref_directory">directory</a> of the stored
\r
365 <a href="#ref_revision">revision</a>.
\r
369 <a id="ref_core_git"></a>core git
\r
373 Fundamental data structures and utilities of git. Exposes only limited
\r
374 source code management tools.
\r
378 <a id="ref_DAG"></a>DAG
\r
382 Directed acyclic graph. The <a href="#ref_commit">commit</a> objects form a
\r
383 directed acyclic graph, because they have parents (directed), and the
\r
384 graph of <a href="#ref_commit">commit</a> objects is acyclic (there is no
\r
385 <a href="#ref_chain">chain</a> which begins and ends with the same
\r
386 <a href="#ref_object">object</a>).
\r
390 <a id="ref_dircache"></a>dircache
\r
394 You are <strong>waaaaay</strong> behind.
\r
398 <a id="ref_directory"></a>directory
\r
402 The list you get with "ls" :-)
\r
406 <a id="ref_dirty"></a>dirty
\r
410 A <a href="#ref_working_tree">working tree</a> is said to be <a href="#ref_dirty">dirty</a> if
\r
411 it contains modifications which have not been committed to the current
\r
412 <a href="#ref_branch">branch</a>.
\r
416 <a id="ref_ent"></a>ent
\r
420 Favorite synonym to "<a href="#ref_tree-ish">tree-ish</a>" by some total geeks. See
\r
421 <tt>http://en.wikipedia.org/wiki/Ent_(Middle-earth)</tt> for an in-depth
\r
426 <a id="ref_fetch"></a>fetch
\r
430 Fetching a <a href="#ref_branch">branch</a> means to get the
\r
431 <a href="#ref_branch">branch</a>'s <a href="#ref_head_ref">head ref</a> from a remote
\r
432 <a href="#ref_repository">repository</a>, to find out which objects are missing
\r
433 from the local <a href="#ref_object_database">object database</a>, and to get them,
\r
438 <a id="ref_file_system"></a>file system
\r
442 Linus Torvalds originally designed git to be a user space file system,
\r
443 i.e. the infrastructure to hold files and directories. That ensured the
\r
444 efficiency and speed of git.
\r
448 <a id="ref_git_archive"></a>git archive
\r
452 Synonym for <a href="#ref_repository">repository</a> (for arch people).
\r
456 <a id="ref_hash"></a>hash
\r
460 In git's context, synonym to <a href="#ref_object_name">object name</a>.
\r
464 <a id="ref_head"></a>head
\r
468 The top of a <a href="#ref_branch">branch</a>. It contains a <a href="#ref_ref">ref</a> to the
\r
469 corresponding <a href="#ref_commit_object">commit object</a>.
\r
473 <a id="ref_head_ref"></a>head ref
\r
477 A <a href="#ref_ref">ref</a> pointing to a <a href="#ref_head">head</a>. Often, this is
\r
478 abbreviated to "<a href="#ref_head">head</a>". Head refs are stored in
\r
479 <tt>$GIT_DIR/refs/heads/</tt>.
\r
483 <a id="ref_index"></a>index
\r
487 A collection of files with stat information, whose contents are stored
\r
488 as objects. The <a href="#ref_index">index</a> is a stored version of your working
\r
489 <a href="#ref_tree">tree</a>. Truth be told, it can also contain a second, and even
\r
490 a third version of a <a href="#ref_working_tree">working tree</a>, which are used
\r
495 <a id="ref_index_entry"></a>index entry
\r
499 The information regarding a particular file, stored in the
\r
500 <a href="#ref_index">index</a>. An <a href="#ref_index_entry">index entry</a> can be unmerged,
\r
501 if a <a href="#ref_merge">merge</a> was started, but not yet finished (i.e. if the
\r
502 <a href="#ref_index">index</a> contains multiple versions of that file).
\r
506 <a id="ref_merge"></a>merge
\r
510 To <a href="#ref_merge">merge</a> branches means to try to accumulate the changes
\r
511 since a common ancestor and apply them to the first
\r
512 <a href="#ref_branch">branch</a>. An automatic <a href="#ref_merge">merge</a> uses heuristics
\r
513 to accomplish that. Evidently, an automatic <a href="#ref_merge">merge</a> can
\r
518 <a id="ref_object"></a>object
\r
522 The unit of storage in git. It is uniquely identified by the
\r
523 <a href="#ref_SHA1">SHA1</a> of its contents. Consequently, an
\r
524 <a href="#ref_object">object</a> can not be changed.
\r
528 <a id="ref_object_database"></a>object database
\r
532 Stores a set of "objects", and an individial <a href="#ref_object">object</a> is
\r
533 identified by its <a href="#ref_object_name">object name</a>. The objects usually
\r
534 live in <tt>$GIT_DIR/objects/</tt>.
\r
538 <a id="ref_object_identifier"></a>object identifier
\r
542 Synonym for <a href="#ref_object_name">object name</a>.
\r
546 <a id="ref_object_name"></a>object name
\r
550 The unique identifier of an <a href="#ref_object">object</a>. The <a href="#ref_hash">hash</a>
\r
551 of the <a href="#ref_object">object</a>'s contents using the Secure Hash Algorithm
\r
552 1 and usually represented by the 40 character hexadecimal encoding of
\r
553 the <a href="#ref_hash">hash</a> of the <a href="#ref_object">object</a> (possibly followed by
\r
558 <a id="ref_octopus"></a>octopus
\r
562 To <a href="#ref_merge">merge</a> more than two branches. Also denotes an
\r
563 intelligent predator.
\r
567 <a id="ref_pack"></a>pack
\r
571 A set of objects which have been compressed into one file (to save space
\r
572 or to transmit them efficiently).
\r
576 <a id="ref_pack_index"></a>pack index
\r
580 The list of identifiers, and other information, of the objects in a
\r
581 <a href="#ref_pack">pack</a>, to assist in efficiently accessing the contents of a
\r
582 <a href="#ref_pack">pack</a>.
\r
586 <a id="ref_parent"></a>parent
\r
590 A <a href="#ref_commit_object">commit object</a> contains a (possibly empty) list
\r
591 of the logical predecessor(s) in the line of development, i.e. its
\r
596 <a id="ref_plumbing"></a>plumbing
\r
600 Cute name for <a href="#ref_core_git">core git</a>.
\r
604 <a id="ref_porcelain"></a>porcelain
\r
608 Cute name for programs and program suites depending on
\r
609 <a href="#ref_core_git">core git</a>, presenting a high level access to
\r
610 <a href="#ref_core_git">core git</a>. Porcelains expose more of a <a href="#ref_SCM">SCM</a>
\r
611 interface than the <a href="#ref_plumbing">plumbing</a>.
\r
615 <a id="ref_pull"></a>pull
\r
619 Pulling a <a href="#ref_branch">branch</a> means to <a href="#ref_fetch">fetch</a> it and
\r
620 <a href="#ref_merge">merge</a> it.
\r
624 <a id="ref_push"></a>push
\r
628 Pushing a <a href="#ref_branch">branch</a> means to get the <a href="#ref_branch">branch</a>'s
\r
629 <a href="#ref_head_ref">head ref</a> from a remote <a href="#ref_repository">repository</a>,
\r
630 find out if it is an ancestor to the <a href="#ref_branch">branch</a>'s local
\r
631 <a href="#ref_head_ref">head ref</a> is a direct, and in that case, putting all
\r
632 objects, which are <a href="#ref_reachable">reachable</a> from the local
\r
633 <a href="#ref_head_ref">head ref</a>, and which are missing from the remote
\r
634 <a href="#ref_repository">repository</a>, into the remote
\r
635 <a href="#ref_object_database">object database</a>, and updating the remote
\r
636 <a href="#ref_head_ref">head ref</a>. If the remote <a href="#ref_head">head</a> is not an
\r
637 ancestor to the local <a href="#ref_head">head</a>, the <a href="#ref_push">push</a> fails.
\r
641 <a id="ref_reachable"></a>reachable
\r
645 An <a href="#ref_object">object</a> is <a href="#ref_reachable">reachable</a> from a
\r
646 <a href="#ref_ref">ref</a>/<a href="#ref_commit">commit</a>/<a href="#ref_tree">tree</a>/<a href="#ref_tag">tag</a>,
\r
647 if there is a <a href="#ref_chain">chain</a> leading from the latter to the former.
\r
651 <a id="ref_rebase"></a>rebase
\r
655 To <a href="#ref_clean">clean</a> a <a href="#ref_branch">branch</a> by starting from the
\r
656 <a href="#ref_head">head</a> of the main line of development ("master"), and
\r
657 reapply the (possibly cherry-picked) changes from that
\r
658 <a href="#ref_branch">branch</a>.
\r
662 <a id="ref_ref"></a>ref
\r
666 A 40-byte hex representation of a <a href="#ref_SHA1">SHA1</a> pointing to a
\r
667 particular <a href="#ref_object">object</a>. These may be stored in
\r
668 <tt>$GIT_DIR/refs/</tt>.
\r
672 <a id="ref_repository"></a>repository
\r
676 A collection of refs together with an <a href="#ref_object_database">object database</a> containing all objects, which are <a href="#ref_reachable">reachable</a>
\r
677 from the refs, possibly accompanied by meta data from one or more
\r
678 porcelains. A <a href="#ref_repository">repository</a> can share an
\r
679 <a href="#ref_object_database">object database</a> with other repositories.
\r
683 <a id="ref_resolve"></a>resolve
\r
687 The action of fixing up manually what a failed automatic
\r
688 <a href="#ref_merge">merge</a> left behind.
\r
692 <a id="ref_revision"></a>revision
\r
696 A particular state of files and directories which was stored in the
\r
697 <a href="#ref_object_database">object database</a>. It is referenced by a
\r
698 <a href="#ref_commit_object">commit object</a>.
\r
702 <a id="ref_rewind"></a>rewind
\r
706 To throw away part of the development, i.e. to assign the
\r
707 <a href="#ref_head">head</a> to an earlier <a href="#ref_revision">revision</a>.
\r
711 <a id="ref_SCM"></a>SCM
\r
715 Source code management (tool).
\r
719 <a id="ref_SHA1"></a>SHA1
\r
723 Synonym for <a href="#ref_object_name">object name</a>.
\r
727 <a id="ref_tag"></a>tag
\r
731 A <a href="#ref_ref">ref</a> pointing to a <a href="#ref_tag">tag</a> or
\r
732 <a href="#ref_commit_object">commit object</a>. In contrast to a <a href="#ref_head">head</a>,
\r
733 a <a href="#ref_tag">tag</a> is not changed by a <a href="#ref_commit">commit</a>. Tags (not
\r
734 <a href="#ref_tag">tag</a> objects) are stored in <tt>$GIT_DIR/refs/tags/</tt>. A git
\r
735 <a href="#ref_tag">tag</a> has nothing to do with a Lisp <a href="#ref_tag">tag</a> (which is
\r
736 called <a href="#ref_object">object</a> type in git's context). A <a href="#ref_tag">tag</a>
\r
737 is most typically used to mark a particular point in the
\r
738 <a href="#ref_commit">commit</a> ancestry <a href="#ref_chain">chain</a>.
\r
742 <a id="ref_tag_object"></a>tag object
\r
746 An <a href="#ref_object">object</a> containing a <a href="#ref_ref">ref</a> pointing to
\r
747 another <a href="#ref_object">object</a>, which can contain a message just like a
\r
748 <a href="#ref_commit_object">commit object</a>. It can also contain a (PGP)
\r
749 signature, in which case it is called a "signed <a href="#ref_tag_object">tag object</a>".
\r
753 <a id="ref_tree"></a>tree
\r
757 Either a <a href="#ref_working_tree">working tree</a>, or a <a href="#ref_tree_object">tree object</a> together with the dependent blob and <a href="#ref_tree">tree</a> objects
\r
758 (i.e. a stored representation of a <a href="#ref_working_tree">working tree</a>).
\r
762 <a id="ref_tree_object"></a>tree object
\r
766 An <a href="#ref_object">object</a> containing a list of file names and modes along
\r
767 with refs to the associated blob and/or <a href="#ref_tree">tree</a> objects. A
\r
768 <a href="#ref_tree">tree</a> is equivalent to a <a href="#ref_directory">directory</a>.
\r
772 <a id="ref_tree-ish"></a>tree-ish
\r
776 A <a href="#ref_ref">ref</a> pointing to either a <a href="#ref_commit_object">commit object</a>, a <a href="#ref_tree_object">tree object</a>, or a <a href="#ref_tag_object">tag object</a> pointing to a <a href="#ref_tag">tag</a> or <a href="#ref_commit">commit</a> or
\r
777 <a href="#ref_tree_object">tree object</a>.
\r
781 <a id="ref_working_tree"></a>working tree
\r
785 The set of files and directories currently being worked on, i.e. you can
\r
786 work in your <a href="#ref_working_tree">working tree</a> without using git at all.
\r
793 <div class="sectionbody">
\r
794 <p>Written by Johannes Schindelin <Johannes.Schindelin@gmx.de> and
\r
795 the git-list <git@vger.kernel.org>.</p>
\r
798 <div class="sectionbody">
\r
799 <p>Part of the <a href="git.html">git</a> suite</p>
\r
802 <div id="footer-text">
\r
803 Last updated 27-Dec-2005 00:17:11 PDT
\r