blob: 91c5d59d2a7cd0da381d11098445dd0d4c426cd9 [file] [log] [blame]
Junio C Hamano1a4e8412005-12-27 08:17:231<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4<head>
5<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Junio C Hamano7bd050f2011-09-22 06:32:226<meta name="generator" content="AsciiDoc 8.5.2" />
Junio C Hamano97bcb482010-11-25 03:16:077<title>gitglossary(7)</title>
Junio C Hamano1a4e8412005-12-27 08:17:238<style type="text/css">
9/* Debug borders */
10p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
11/*
12 border: 1px solid red;
13*/
14}
15
16body {
17 margin: 1em 5% 1em 5%;
18}
19
Junio C Hamanod32738e2008-07-09 19:53:4220a {
21 color: blue;
22 text-decoration: underline;
23}
24a:visited {
25 color: fuchsia;
26}
Junio C Hamano1a4e8412005-12-27 08:17:2327
28em {
29 font-style: italic;
Junio C Hamano97bcb482010-11-25 03:16:0730 color: navy;
Junio C Hamano1a4e8412005-12-27 08:17:2331}
32
33strong {
34 font-weight: bold;
Junio C Hamano97bcb482010-11-25 03:16:0735 color: #083194;
Junio C Hamano1a4e8412005-12-27 08:17:2336}
37
38tt {
39 color: navy;
40}
41
42h1, h2, h3, h4, h5, h6 {
43 color: #527bbd;
44 font-family: sans-serif;
45 margin-top: 1.2em;
46 margin-bottom: 0.5em;
47 line-height: 1.3;
48}
49
Junio C Hamanod32738e2008-07-09 19:53:4250h1, h2, h3 {
Junio C Hamano1a4e8412005-12-27 08:17:2351 border-bottom: 2px solid silver;
52}
53h2 {
Junio C Hamano1a4e8412005-12-27 08:17:2354 padding-top: 0.5em;
55}
Junio C Hamanod32738e2008-07-09 19:53:4256h3 {
57 float: left;
58}
59h3 + * {
60 clear: left;
61}
Junio C Hamano1a4e8412005-12-27 08:17:2362
63div.sectionbody {
64 font-family: serif;
65 margin-left: 0;
66}
67
68hr {
69 border: 1px solid silver;
70}
71
72p {
73 margin-top: 0.5em;
74 margin-bottom: 0.5em;
75}
76
Junio C Hamano97bcb482010-11-25 03:16:0777ul, ol, li > p {
78 margin-top: 0;
79}
80
Junio C Hamano1a4e8412005-12-27 08:17:2381pre {
82 padding: 0;
83 margin: 0;
84}
85
86span#author {
87 color: #527bbd;
88 font-family: sans-serif;
89 font-weight: bold;
Junio C Hamanod32738e2008-07-09 19:53:4290 font-size: 1.1em;
Junio C Hamano1a4e8412005-12-27 08:17:2391}
92span#email {
93}
Junio C Hamano97bcb482010-11-25 03:16:0794span#revnumber, span#revdate, span#revremark {
Junio C Hamano1a4e8412005-12-27 08:17:2395 font-family: sans-serif;
96}
97
98div#footer {
99 font-family: sans-serif;
100 font-size: small;
101 border-top: 2px solid silver;
102 padding-top: 0.5em;
103 margin-top: 4.0em;
104}
105div#footer-text {
106 float: left;
107 padding-bottom: 0.5em;
108}
109div#footer-badges {
110 float: right;
111 padding-bottom: 0.5em;
112}
113
Junio C Hamano97bcb482010-11-25 03:16:07114div#preamble {
115 margin-top: 1.5em;
116 margin-bottom: 1.5em;
117}
Junio C Hamano1a4e8412005-12-27 08:17:23118div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
119div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
120div.admonitionblock {
Junio C Hamano7bd050f2011-09-22 06:32:22121 margin-top: 1.0em;
Junio C Hamano1a4e8412005-12-27 08:17:23122 margin-bottom: 1.5em;
123}
124div.admonitionblock {
Junio C Hamano7bd050f2011-09-22 06:32:22125 margin-top: 2.0em;
126 margin-bottom: 2.0em;
127 margin-right: 10%;
128 color: #606060;
Junio C Hamano1a4e8412005-12-27 08:17:23129}
130
131div.content { /* Block element content. */
132 padding: 0;
133}
134
135/* Block element titles. */
136div.title, caption.title {
Junio C Hamano97bcb482010-11-25 03:16:07137 color: #527bbd;
Junio C Hamano1a4e8412005-12-27 08:17:23138 font-family: sans-serif;
139 font-weight: bold;
140 text-align: left;
141 margin-top: 1.0em;
142 margin-bottom: 0.5em;
143}
144div.title + * {
145 margin-top: 0;
146}
147
148td div.title:first-child {
149 margin-top: 0.0em;
150}
151div.content div.title:first-child {
152 margin-top: 0.0em;
153}
154div.content + div.title {
155 margin-top: 0.0em;
156}
157
158div.sidebarblock > div.content {
159 background: #ffffee;
160 border: 1px solid silver;
161 padding: 0.5em;
162}
163
164div.listingblock > div.content {
165 border: 1px solid silver;
166 background: #f4f4f4;
167 padding: 0.5em;
168}
169
Junio C Hamano7bd050f2011-09-22 06:32:22170div.quoteblock, div.verseblock {
171 padding-left: 1.0em;
172 margin-left: 1.0em;
Junio C Hamano97bcb482010-11-25 03:16:07173 margin-right: 10%;
Junio C Hamano7bd050f2011-09-22 06:32:22174 border-left: 5px solid #dddddd;
175 color: #777777;
Junio C Hamano1a4e8412005-12-27 08:17:23176}
Junio C Hamano7bd050f2011-09-22 06:32:22177
Junio C Hamano97bcb482010-11-25 03:16:07178div.quoteblock > div.attribution {
179 padding-top: 0.5em;
Junio C Hamano1a4e8412005-12-27 08:17:23180 text-align: right;
181}
Junio C Hamano97bcb482010-11-25 03:16:07182
Junio C Hamano97bcb482010-11-25 03:16:07183div.verseblock > div.content {
184 white-space: pre;
185}
186div.verseblock > div.attribution {
187 padding-top: 0.75em;
188 text-align: left;
189}
190/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
Junio C Hamanod32738e2008-07-09 19:53:42191div.verseblock + div.attribution {
192 text-align: left;
193}
Junio C Hamano1a4e8412005-12-27 08:17:23194
195div.admonitionblock .icon {
196 vertical-align: top;
197 font-size: 1.1em;
198 font-weight: bold;
199 text-decoration: underline;
200 color: #527bbd;
201 padding-right: 0.5em;
202}
203div.admonitionblock td.content {
204 padding-left: 0.5em;
Junio C Hamano7bd050f2011-09-22 06:32:22205 border-left: 3px solid #dddddd;
Junio C Hamano1a4e8412005-12-27 08:17:23206}
207
208div.exampleblock > div.content {
Junio C Hamano7bd050f2011-09-22 06:32:22209 border-left: 3px solid #dddddd;
210 padding-left: 0.5em;
Junio C Hamano1a4e8412005-12-27 08:17:23211}
212
Junio C Hamano1a4e8412005-12-27 08:17:23213div.imageblock div.content { padding-left: 0; }
Junio C Hamano1a4e8412005-12-27 08:17:23214span.image img { border-style: none; }
Junio C Hamano97bcb482010-11-25 03:16:07215a.image:visited { color: white; }
Junio C Hamano1a4e8412005-12-27 08:17:23216
217dl {
218 margin-top: 0.8em;
219 margin-bottom: 0.8em;
220}
221dt {
222 margin-top: 0.5em;
223 margin-bottom: 0;
Junio C Hamano97bcb482010-11-25 03:16:07224 font-style: normal;
225 color: navy;
Junio C Hamano1a4e8412005-12-27 08:17:23226}
227dd > *:first-child {
Junio C Hamano97bcb482010-11-25 03:16:07228 margin-top: 0.1em;
Junio C Hamano1a4e8412005-12-27 08:17:23229}
230
231ul, ol {
232 list-style-position: outside;
233}
Junio C Hamano97bcb482010-11-25 03:16:07234ol.arabic {
235 list-style-type: decimal;
236}
237ol.loweralpha {
Junio C Hamano1a4e8412005-12-27 08:17:23238 list-style-type: lower-alpha;
239}
Junio C Hamano97bcb482010-11-25 03:16:07240ol.upperalpha {
241 list-style-type: upper-alpha;
242}
243ol.lowerroman {
244 list-style-type: lower-roman;
245}
246ol.upperroman {
247 list-style-type: upper-roman;
248}
249
250div.compact ul, div.compact ol,
251div.compact p, div.compact p,
252div.compact div, div.compact div {
253 margin-top: 0.1em;
254 margin-bottom: 0.1em;
255}
Junio C Hamano1a4e8412005-12-27 08:17:23256
257div.tableblock > table {
Junio C Hamanod32738e2008-07-09 19:53:42258 border: 3px solid #527bbd;
Junio C Hamano1a4e8412005-12-27 08:17:23259}
Junio C Hamano7bd050f2011-09-22 06:32:22260thead, p.table.header {
Junio C Hamano1a4e8412005-12-27 08:17:23261 font-family: sans-serif;
262 font-weight: bold;
263}
264tfoot {
265 font-weight: bold;
266}
Junio C Hamano97bcb482010-11-25 03:16:07267td > div.verse {
268 white-space: pre;
269}
270p.table {
271 margin-top: 0;
272}
273/* Because the table frame attribute is overriden by CSS in most browsers. */
274div.tableblock > table[frame="void"] {
275 border-style: none;
276}
277div.tableblock > table[frame="hsides"] {
278 border-left-style: none;
279 border-right-style: none;
280}
281div.tableblock > table[frame="vsides"] {
282 border-top-style: none;
283 border-bottom-style: none;
284}
Junio C Hamano1a4e8412005-12-27 08:17:23285
Junio C Hamano97bcb482010-11-25 03:16:07286
287div.hdlist {
Junio C Hamano1a4e8412005-12-27 08:17:23288 margin-top: 0.8em;
289 margin-bottom: 0.8em;
290}
Junio C Hamano97bcb482010-11-25 03:16:07291div.hdlist tr {
292 padding-bottom: 15px;
Junio C Hamanod32738e2008-07-09 19:53:42293}
Junio C Hamano97bcb482010-11-25 03:16:07294dt.hdlist1.strong, td.hdlist1.strong {
295 font-weight: bold;
296}
297td.hdlist1 {
Junio C Hamano1a4e8412005-12-27 08:17:23298 vertical-align: top;
Junio C Hamano97bcb482010-11-25 03:16:07299 font-style: normal;
Junio C Hamano1a4e8412005-12-27 08:17:23300 padding-right: 0.8em;
Junio C Hamano97bcb482010-11-25 03:16:07301 color: navy;
Junio C Hamano1a4e8412005-12-27 08:17:23302}
Junio C Hamano97bcb482010-11-25 03:16:07303td.hdlist2 {
Junio C Hamano1a4e8412005-12-27 08:17:23304 vertical-align: top;
305}
Junio C Hamano97bcb482010-11-25 03:16:07306div.hdlist.compact tr {
307 margin: 0;
308 padding-bottom: 0;
309}
310
311.comment {
312 background: yellow;
313}
Junio C Hamano1a4e8412005-12-27 08:17:23314
Junio C Hamano7bd050f2011-09-22 06:32:22315.footnote, .footnoteref {
316 font-size: 0.8em;
317}
318
319span.footnote, span.footnoteref {
320 vertical-align: super;
321}
322
323#footnotes {
324 margin: 20px 0 20px 0;
325 padding: 7px 0 0 0;
326}
327
328#footnotes div.footnote {
329 margin: 0 0 5px 0;
330}
331
332#footnotes hr {
333 border: none;
334 border-top: 1px solid silver;
335 height: 1px;
336 text-align: left;
337 margin-left: 0;
338 width: 20%;
339 min-width: 100px;
340}
341
342
Junio C Hamano1a4e8412005-12-27 08:17:23343@media print {
344 div#footer-badges { display: none; }
345}
Junio C Hamanod32738e2008-07-09 19:53:42346
Junio C Hamano7bd050f2011-09-22 06:32:22347div#toc {
348 margin-bottom: 2.5em;
349}
350
Junio C Hamanod32738e2008-07-09 19:53:42351div#toctitle {
352 color: #527bbd;
353 font-family: sans-serif;
354 font-size: 1.1em;
355 font-weight: bold;
356 margin-top: 1.0em;
357 margin-bottom: 0.1em;
358}
359
360div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
361 margin-top: 0;
362 margin-bottom: 0;
363}
364div.toclevel2 {
365 margin-left: 2em;
366 font-size: 0.9em;
367}
368div.toclevel3 {
369 margin-left: 4em;
370 font-size: 0.9em;
371}
372div.toclevel4 {
373 margin-left: 6em;
374 font-size: 0.9em;
375}
Junio C Hamano97bcb482010-11-25 03:16:07376/* Overrides for manpage documents */
377h1 {
378 padding-top: 0.5em;
379 padding-bottom: 0.5em;
380 border-top: 2px solid silver;
381 border-bottom: 2px solid silver;
382}
383h2 {
384 border-style: none;
385}
386div.sectionbody {
387 margin-left: 5%;
388}
389
390@media print {
391 div#toc { display: none; }
392}
393
Junio C Hamano1a4e8412005-12-27 08:17:23394/* Workarounds for IE6's broken and incomplete CSS2. */
395
396div.sidebar-content {
397 background: #ffffee;
398 border: 1px solid silver;
399 padding: 0.5em;
400}
401div.sidebar-title, div.image-title {
Junio C Hamano97bcb482010-11-25 03:16:07402 color: #527bbd;
Junio C Hamano1a4e8412005-12-27 08:17:23403 font-family: sans-serif;
404 font-weight: bold;
405 margin-top: 0.0em;
406 margin-bottom: 0.5em;
407}
408
409div.listingblock div.content {
410 border: 1px solid silver;
411 background: #f4f4f4;
412 padding: 0.5em;
413}
414
Junio C Hamano97bcb482010-11-25 03:16:07415div.quoteblock-attribution {
416 padding-top: 0.5em;
417 text-align: right;
418}
419
420div.verseblock-content {
421 white-space: pre;
422}
423div.verseblock-attribution {
424 padding-top: 0.75em;
425 text-align: left;
Junio C Hamano1a4e8412005-12-27 08:17:23426}
427
428div.exampleblock-content {
Junio C Hamano7bd050f2011-09-22 06:32:22429 border-left: 3px solid #dddddd;
Junio C Hamano1a4e8412005-12-27 08:17:23430 padding-left: 0.5em;
431}
Junio C Hamanod32738e2008-07-09 19:53:42432
433/* IE6 sets dynamically generated links as visited. */
434div#toc a:visited { color: blue; }
Junio C Hamano1a4e8412005-12-27 08:17:23435</style>
Junio C Hamano7bd050f2011-09-22 06:32:22436<script type="text/javascript">
437/*<![CDATA[*/
438window.onload = function(){asciidoc.footnotes();}
439var asciidoc = { // Namespace.
440
441/////////////////////////////////////////////////////////////////////
442// Table Of Contents generator
443/////////////////////////////////////////////////////////////////////
444
445/* Author: Mihai Bazon, September 2002
446 * http://students.infoiasi.ro/~mishoo
447 *
448 * Table Of Content generator
449 * Version: 0.4
450 *
451 * Feel free to use this script under the terms of the GNU General Public
452 * License, as long as you do not remove or alter this notice.
453 */
454
455 /* modified by Troy D. Hanson, September 2006. License: GPL */
456 /* modified by Stuart Rackham, 2006, 2009. License: GPL */
457
458// toclevels = 1..4.
459toc: function (toclevels) {
460
461 function getText(el) {
462 var text = "";
463 for (var i = el.firstChild; i != null; i = i.nextSibling) {
464 if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
465 text += i.data;
466 else if (i.firstChild != null)
467 text += getText(i);
468 }
469 return text;
470 }
471
472 function TocEntry(el, text, toclevel) {
473 this.element = el;
474 this.text = text;
475 this.toclevel = toclevel;
476 }
477
478 function tocEntries(el, toclevels) {
479 var result = new Array;
480 var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
481 // Function that scans the DOM tree for header elements (the DOM2
482 // nodeIterator API would be a better technique but not supported by all
483 // browsers).
484 var iterate = function (el) {
485 for (var i = el.firstChild; i != null; i = i.nextSibling) {
486 if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
487 var mo = re.exec(i.tagName);
488 if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
489 result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
490 }
491 iterate(i);
492 }
493 }
494 }
495 iterate(el);
496 return result;
497 }
498
499 var toc = document.getElementById("toc");
500 var entries = tocEntries(document.getElementById("content"), toclevels);
501 for (var i = 0; i < entries.length; ++i) {
502 var entry = entries[i];
503 if (entry.element.id == "")
504 entry.element.id = "_toc_" + i;
505 var a = document.createElement("a");
506 a.href = "#" + entry.element.id;
507 a.appendChild(document.createTextNode(entry.text));
508 var div = document.createElement("div");
509 div.appendChild(a);
510 div.className = "toclevel" + entry.toclevel;
511 toc.appendChild(div);
512 }
513 if (entries.length == 0)
514 toc.parentNode.removeChild(toc);
515},
516
517
518/////////////////////////////////////////////////////////////////////
519// Footnotes generator
520/////////////////////////////////////////////////////////////////////
521
522/* Based on footnote generation code from:
523 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
524 */
525
526footnotes: function () {
527 var cont = document.getElementById("content");
528 var noteholder = document.getElementById("footnotes");
529 var spans = cont.getElementsByTagName("span");
530 var refs = {};
531 var n = 0;
532 for (i=0; i<spans.length; i++) {
533 if (spans[i].className == "footnote") {
534 n++;
535 // Use [\s\S] in place of . so multi-line matches work.
536 // Because JavaScript has no s (dotall) regex flag.
537 note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
538 noteholder.innerHTML +=
539 "<div class='footnote' id='_footnote_" + n + "'>" +
540 "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
541 n + "</a>. " + note + "</div>";
542 spans[i].innerHTML =
543 "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
544 "' title='View footnote' class='footnote'>" + n + "</a>]";
545 var id =spans[i].getAttribute("id");
546 if (id != null) refs["#"+id] = n;
547 }
548 }
549 if (n == 0)
550 noteholder.parentNode.removeChild(noteholder);
551 else {
552 // Process footnoterefs.
553 for (i=0; i<spans.length; i++) {
554 if (spans[i].className == "footnoteref") {
555 var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
556 href = href.match(/#.*/)[0]; // Because IE return full URL.
557 n = refs[href];
558 spans[i].innerHTML =
559 "[<a href='#_footnote_" + n +
560 "' title='View footnote' class='footnote'>" + n + "</a>]";
561 }
562 }
563 }
564}
565
566}
567/*]]>*/
568</script>
Junio C Hamano1a4e8412005-12-27 08:17:23569</head>
570<body>
571<div id="header">
Junio C Hamano9e1793f2008-06-02 07:31:16572<h1>
573gitglossary(7) Manual Page
574</h1>
575<h2>NAME</h2>
576<div class="sectionbody">
577<p>gitglossary -
578 A GIT Glossary
579</p>
Junio C Hamano1a4e8412005-12-27 08:17:23580</div>
Junio C Hamano9e1793f2008-06-02 07:31:16581</div>
Junio C Hamano7bd050f2011-09-22 06:32:22582<div id="content">
Junio C Hamano97bcb482010-11-25 03:16:07583<h2 id="_synopsis">SYNOPSIS</h2>
Junio C Hamano9e1793f2008-06-02 07:31:16584<div class="sectionbody">
Junio C Hamano97bcb482010-11-25 03:16:07585<div class="paragraph"><p>*</p></div>
Junio C Hamano9e1793f2008-06-02 07:31:16586</div>
Junio C Hamanod32738e2008-07-09 19:53:42587<h2 id="_description">DESCRIPTION</h2>
Junio C Hamano1a4e8412005-12-27 08:17:23588<div class="sectionbody">
Junio C Hamano97bcb482010-11-25 03:16:07589<div class="dlist"><dl>
590<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41591<a id="def_alternate_object_database"></a>alternate object database
Junio C Hamano1a4e8412005-12-27 08:17:23592</dt>
593<dd>
594<p>
Junio C Hamano75485c82007-05-19 04:20:33595 Via the alternates mechanism, a <a href="#def_repository">repository</a>
596 can inherit part of its <a href="#def_object_database">object database</a>
597 from another object database, which is called "alternate".
Junio C Hamano1a4e8412005-12-27 08:17:23598</p>
599</dd>
Junio C Hamano97bcb482010-11-25 03:16:07600<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41601<a id="def_bare_repository"></a>bare repository
Junio C Hamano88a3a072006-05-04 08:01:43602</dt>
603<dd>
604<p>
Junio C Hamano75485c82007-05-19 04:20:33605 A bare repository is normally an appropriately
Junio C Hamano3d5b41f2007-03-26 02:33:41606 named <a href="#def_directory">directory</a> with a <tt>.git</tt> suffix that does not
Junio C Hamano88a3a072006-05-04 08:01:43607 have a locally checked-out copy of any of the files under
Junio C Hamano36460982007-05-27 04:29:12608 revision control. That is, all of the <tt>git</tt>
Junio C Hamano88a3a072006-05-04 08:01:43609 administrative and control files that would normally be present in the
Junio C Hamanoc51fede2007-03-12 07:29:20610 hidden <tt>.git</tt> sub-directory are directly present in the
Junio C Hamano3d5b41f2007-03-26 02:33:41611 <tt>repository.git</tt> directory instead,
Junio C Hamanoc51fede2007-03-12 07:29:20612 and no other files are present and checked out. Usually publishers of
613 public repositories make bare repositories available.
Junio C Hamano88a3a072006-05-04 08:01:43614</p>
615</dd>
Junio C Hamano97bcb482010-11-25 03:16:07616<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41617<a id="def_blob_object"></a>blob object
Junio C Hamano1a4e8412005-12-27 08:17:23618</dt>
619<dd>
620<p>
Junio C Hamano3d5b41f2007-03-26 02:33:41621 Untyped <a href="#def_object">object</a>, e.g. the contents of a file.
Junio C Hamano1a4e8412005-12-27 08:17:23622</p>
623</dd>
Junio C Hamano97bcb482010-11-25 03:16:07624<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41625<a id="def_branch"></a>branch
Junio C Hamano1a4e8412005-12-27 08:17:23626</dt>
627<dd>
628<p>
Junio C Hamano75485c82007-05-19 04:20:33629 A "branch" is an active line of development. The most recent
630 <a href="#def_commit">commit</a> on a branch is referred to as the tip of
631 that branch. The tip of the branch is referenced by a branch
632 <a href="#def_head">head</a>, which moves forward as additional development
633 is done on the branch. A single git
634 <a href="#def_repository">repository</a> can track an arbitrary number of
635 branches, but your <a href="#def_working_tree">working tree</a> is
636 associated with just one of them (the "current" or "checked out"
637 branch), and <a href="#def_HEAD">HEAD</a> points to that branch.
Junio C Hamano1a4e8412005-12-27 08:17:23638</p>
639</dd>
Junio C Hamano97bcb482010-11-25 03:16:07640<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41641<a id="def_cache"></a>cache
Junio C Hamano1a4e8412005-12-27 08:17:23642</dt>
643<dd>
644<p>
Junio C Hamano3d5b41f2007-03-26 02:33:41645 Obsolete for: <a href="#def_index">index</a>.
Junio C Hamano1a4e8412005-12-27 08:17:23646</p>
647</dd>
Junio C Hamano97bcb482010-11-25 03:16:07648<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41649<a id="def_chain"></a>chain
Junio C Hamano1a4e8412005-12-27 08:17:23650</dt>
651<dd>
652<p>
Junio C Hamano3d5b41f2007-03-26 02:33:41653 A list of objects, where each <a href="#def_object">object</a> in the list contains
Junio C Hamano1a4e8412005-12-27 08:17:23654 a reference to its successor (for example, the successor of a
Junio C Hamano36460982007-05-27 04:29:12655 <a href="#def_commit">commit</a> could be one of its <a href="#def_parent">parents</a>).
Junio C Hamano1a4e8412005-12-27 08:17:23656</p>
657</dd>
Junio C Hamano97bcb482010-11-25 03:16:07658<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41659<a id="def_changeset"></a>changeset
Junio C Hamano1a4e8412005-12-27 08:17:23660</dt>
661<dd>
662<p>
Junio C Hamano3d5b41f2007-03-26 02:33:41663 BitKeeper/cvsps speak for "<a href="#def_commit">commit</a>". Since git does not
Junio C Hamano1a4e8412005-12-27 08:17:23664 store changes, but states, it really does not make sense to use the term
665 "changesets" with git.
666</p>
667</dd>
Junio C Hamano97bcb482010-11-25 03:16:07668<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41669<a id="def_checkout"></a>checkout
Junio C Hamano1a4e8412005-12-27 08:17:23670</dt>
671<dd>
672<p>
Junio C Hamanoa14a4032008-03-25 09:11:02673 The action of updating all or part of the
674 <a href="#def_working_tree">working tree</a> with a <a href="#def_tree_object">tree object</a>
675 or <a href="#def_blob_object">blob</a> from the
676 <a href="#def_object_database">object database</a>, and updating the
677 <a href="#def_index">index</a> and <a href="#def_HEAD">HEAD</a> if the whole working tree has
678 been pointed at a new <a href="#def_branch">branch</a>.
Junio C Hamano1a4e8412005-12-27 08:17:23679</p>
680</dd>
Junio C Hamano97bcb482010-11-25 03:16:07681<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41682<a id="def_cherry-picking"></a>cherry-picking
Junio C Hamano88a3a072006-05-04 08:01:43683</dt>
684<dd>
685<p>
Junio C Hamano3d5b41f2007-03-26 02:33:41686 In <a href="#def_SCM">SCM</a> jargon, "cherry pick" means to choose a subset of
Junio C Hamano88a3a072006-05-04 08:01:43687 changes out of a series of changes (typically commits) and record them
Junio C Hamano764a6672007-10-23 01:23:31688 as a new series of changes on top of a different codebase. In GIT, this is
689 performed by the "git cherry-pick" command to extract the change introduced
Junio C Hamano3d5b41f2007-03-26 02:33:41690 by an existing <a href="#def_commit">commit</a> and to record it based on the tip
Junio C Hamano75485c82007-05-19 04:20:33691 of the current <a href="#def_branch">branch</a> as a new commit.
Junio C Hamano88a3a072006-05-04 08:01:43692</p>
693</dd>
Junio C Hamano97bcb482010-11-25 03:16:07694<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41695<a id="def_clean"></a>clean
Junio C Hamano1a4e8412005-12-27 08:17:23696</dt>
697<dd>
698<p>
Junio C Hamano75485c82007-05-19 04:20:33699 A <a href="#def_working_tree">working tree</a> is clean, if it
Junio C Hamano3d5b41f2007-03-26 02:33:41700 corresponds to the <a href="#def_revision">revision</a> referenced by the current
701 <a href="#def_head">head</a>. Also see "<a href="#def_dirty">dirty</a>".
Junio C Hamano1a4e8412005-12-27 08:17:23702</p>
703</dd>
Junio C Hamano97bcb482010-11-25 03:16:07704<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41705<a id="def_commit"></a>commit
Junio C Hamano1a4e8412005-12-27 08:17:23706</dt>
707<dd>
708<p>
Junio C Hamano75485c82007-05-19 04:20:33709 As a noun: A single point in the
710 git history; the entire history of a project is represented as a
711 set of interrelated commits. The word "commit" is often
712 used by git in the same places other revision control systems
713 use the words "revision" or "version". Also used as a short
714 hand for <a href="#def_commit_object">commit object</a>.
Junio C Hamano1a4e8412005-12-27 08:17:23715</p>
Junio C Hamano97bcb482010-11-25 03:16:07716<div class="paragraph"><p>As a verb: The action of storing a new snapshot of the project&#8217;s
Junio C Hamano75485c82007-05-19 04:20:33717state in the git history, by creating a new commit representing the current
718state of the <a href="#def_index">index</a> and advancing <a href="#def_HEAD">HEAD</a>
Junio C Hamanod32738e2008-07-09 19:53:42719to point at the new commit.</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:23720</dd>
Junio C Hamano97bcb482010-11-25 03:16:07721<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41722<a id="def_commit_object"></a>commit object
Junio C Hamano1a4e8412005-12-27 08:17:23723</dt>
724<dd>
725<p>
Junio C Hamano3d5b41f2007-03-26 02:33:41726 An <a href="#def_object">object</a> which contains the information about a
Junio C Hamano36460982007-05-27 04:29:12727 particular <a href="#def_revision">revision</a>, such as <a href="#def_parent">parents</a>, committer,
Junio C Hamano3d5b41f2007-03-26 02:33:41728 author, date and the <a href="#def_tree_object">tree object</a> which corresponds
729 to the top <a href="#def_directory">directory</a> of the stored
Junio C Hamano36460982007-05-27 04:29:12730 revision.
Junio C Hamano1a4e8412005-12-27 08:17:23731</p>
732</dd>
Junio C Hamano97bcb482010-11-25 03:16:07733<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41734<a id="def_core_git"></a>core git
Junio C Hamano1a4e8412005-12-27 08:17:23735</dt>
736<dd>
737<p>
738 Fundamental data structures and utilities of git. Exposes only limited
739 source code management tools.
740</p>
741</dd>
Junio C Hamano97bcb482010-11-25 03:16:07742<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41743<a id="def_DAG"></a>DAG
Junio C Hamano1a4e8412005-12-27 08:17:23744</dt>
745<dd>
746<p>
Junio C Hamano9e1793f2008-06-02 07:31:16747 Directed acyclic graph. The <a href="#def_commit_object">commit objects</a> form a
Junio C Hamano1a4e8412005-12-27 08:17:23748 directed acyclic graph, because they have parents (directed), and the
Junio C Hamano9e1793f2008-06-02 07:31:16749 graph of commit objects is acyclic (there is no <a href="#def_chain">chain</a>
750 which begins and ends with the same <a href="#def_object">object</a>).
Junio C Hamano1a4e8412005-12-27 08:17:23751</p>
752</dd>
Junio C Hamano97bcb482010-11-25 03:16:07753<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41754<a id="def_dangling_object"></a>dangling object
Junio C Hamanoaa83a7d2007-03-05 02:37:29755</dt>
756<dd>
757<p>
Junio C Hamano3d5b41f2007-03-26 02:33:41758 An <a href="#def_unreachable_object">unreachable object</a> which is not
759 <a href="#def_reachable">reachable</a> even from other unreachable objects; a
Junio C Hamano75485c82007-05-19 04:20:33760 dangling object has no references to it from any
Junio C Hamano3d5b41f2007-03-26 02:33:41761 reference or <a href="#def_object">object</a> in the <a href="#def_repository">repository</a>.
Junio C Hamanoaa83a7d2007-03-05 02:37:29762</p>
763</dd>
Junio C Hamano97bcb482010-11-25 03:16:07764<dt class="hdlist1">
Junio C Hamano75485c82007-05-19 04:20:33765<a id="def_detached_HEAD"></a>detached HEAD
766</dt>
767<dd>
768<p>
769 Normally the <a href="#def_HEAD">HEAD</a> stores the name of a
Junio C Hamano36460982007-05-27 04:29:12770 <a href="#def_branch">branch</a>. However, git also allows you to <a href="#def_checkout">check out</a>
Junio C Hamano97bcb482010-11-25 03:16:07771 an arbitrary <a href="#def_commit">commit</a> that isn&#8217;t necessarily the tip of any
Junio C Hamano75485c82007-05-19 04:20:33772 particular branch. In this case HEAD is said to be "detached".
773</p>
774</dd>
Junio C Hamano97bcb482010-11-25 03:16:07775<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41776<a id="def_dircache"></a>dircache
Junio C Hamano1a4e8412005-12-27 08:17:23777</dt>
778<dd>
779<p>
Junio C Hamano36460982007-05-27 04:29:12780 You are <strong>waaaaay</strong> behind. See <a href="#def_index">index</a>.
Junio C Hamano1a4e8412005-12-27 08:17:23781</p>
782</dd>
Junio C Hamano97bcb482010-11-25 03:16:07783<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41784<a id="def_directory"></a>directory
Junio C Hamano1a4e8412005-12-27 08:17:23785</dt>
786<dd>
787<p>
788 The list you get with "ls" :-)
789</p>
790</dd>
Junio C Hamano97bcb482010-11-25 03:16:07791<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41792<a id="def_dirty"></a>dirty
Junio C Hamano1a4e8412005-12-27 08:17:23793</dt>
794<dd>
795<p>
Junio C Hamano75485c82007-05-19 04:20:33796 A <a href="#def_working_tree">working tree</a> is said to be "dirty" if
Junio C Hamano36460982007-05-27 04:29:12797 it contains modifications which have not been <a href="#def_commit">committed</a> to the current
Junio C Hamano3d5b41f2007-03-26 02:33:41798 <a href="#def_branch">branch</a>.
Junio C Hamano1a4e8412005-12-27 08:17:23799</p>
800</dd>
Junio C Hamano97bcb482010-11-25 03:16:07801<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41802<a id="def_ent"></a>ent
Junio C Hamano1a4e8412005-12-27 08:17:23803</dt>
804<dd>
805<p>
Junio C Hamano3d5b41f2007-03-26 02:33:41806 Favorite synonym to "<a href="#def_tree-ish">tree-ish</a>" by some total geeks. See
Junio C Hamano44dcd492012-07-24 04:35:38807 <a href="http://en.wikipedia.org/wiki/Ent_(Middle-earth">http://en.wikipedia.org/wiki/Ent_(Middle-earth</a>) for an in-depth
Junio C Hamano51c2ab02006-07-09 20:38:54808 explanation. Avoid this term, not to confuse people.
Junio C Hamano1a4e8412005-12-27 08:17:23809</p>
810</dd>
Junio C Hamano97bcb482010-11-25 03:16:07811<dt class="hdlist1">
Junio C Hamano36460982007-05-27 04:29:12812<a id="def_evil_merge"></a>evil merge
813</dt>
814<dd>
815<p>
816 An evil merge is a <a href="#def_merge">merge</a> that introduces changes that
817 do not appear in any <a href="#def_parent">parent</a>.
818</p>
819</dd>
Junio C Hamano97bcb482010-11-25 03:16:07820<dt class="hdlist1">
Junio C Hamano3f680f32009-11-16 02:10:54821<a id="def_fast_forward"></a>fast-forward
Junio C Hamano88a3a072006-05-04 08:01:43822</dt>
823<dd>
824<p>
Junio C Hamano3d5b41f2007-03-26 02:33:41825 A fast-forward is a special type of <a href="#def_merge">merge</a> where you have a
826 <a href="#def_revision">revision</a> and you are "merging" another
827 <a href="#def_branch">branch</a>'s changes that happen to be a descendant of what
828 you have. In such these cases, you do not make a new <a href="#def_merge">merge</a>
829 <a href="#def_commit">commit</a> but instead just update to his
Junio C Hamano75485c82007-05-19 04:20:33830 revision. This will happen frequently on a
Junio C Hamano97bcb482010-11-25 03:16:07831 <a href="#def_remote_tracking_branch">remote-tracking branch</a> of a remote
Junio C Hamano3d5b41f2007-03-26 02:33:41832 <a href="#def_repository">repository</a>.
Junio C Hamano88a3a072006-05-04 08:01:43833</p>
834</dd>
Junio C Hamano97bcb482010-11-25 03:16:07835<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41836<a id="def_fetch"></a>fetch
Junio C Hamano1a4e8412005-12-27 08:17:23837</dt>
838<dd>
839<p>
Junio C Hamano3d5b41f2007-03-26 02:33:41840 Fetching a <a href="#def_branch">branch</a> means to get the
Junio C Hamano97bcb482010-11-25 03:16:07841 branch&#8217;s <a href="#def_head_ref">head ref</a> from a remote
Junio C Hamano75485c82007-05-19 04:20:33842 <a href="#def_repository">repository</a>, to find out which objects are
843 missing from the local <a href="#def_object_database">object database</a>,
Junio C Hamanoa28a9202012-06-21 07:08:23844 and to get them, too. See also <a href="git-fetch.html">git-fetch(1)</a>.
Junio C Hamano1a4e8412005-12-27 08:17:23845</p>
846</dd>
Junio C Hamano97bcb482010-11-25 03:16:07847<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41848<a id="def_file_system"></a>file system
Junio C Hamano1a4e8412005-12-27 08:17:23849</dt>
850<dd>
851<p>
852 Linus Torvalds originally designed git to be a user space file system,
853 i.e. the infrastructure to hold files and directories. That ensured the
854 efficiency and speed of git.
855</p>
856</dd>
Junio C Hamano97bcb482010-11-25 03:16:07857<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41858<a id="def_git_archive"></a>git archive
Junio C Hamano1a4e8412005-12-27 08:17:23859</dt>
860<dd>
861<p>
Junio C Hamano3d5b41f2007-03-26 02:33:41862 Synonym for <a href="#def_repository">repository</a> (for arch people).
Junio C Hamano1a4e8412005-12-27 08:17:23863</p>
864</dd>
Junio C Hamano97bcb482010-11-25 03:16:07865<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41866<a id="def_grafts"></a>grafts
Junio C Hamano33db4372006-06-07 19:51:45867</dt>
868<dd>
869<p>
870 Grafts enables two otherwise different lines of development to be joined
871 together by recording fake ancestry information for commits. This way
Junio C Hamano36460982007-05-27 04:29:12872 you can make git pretend the set of <a href="#def_parent">parents</a> a <a href="#def_commit">commit</a> has
Junio C Hamano75485c82007-05-19 04:20:33873 is different from what was recorded when the commit was
Junio C Hamano3d5b41f2007-03-26 02:33:41874 created. Configured via the <tt>.git/info/grafts</tt> file.
Junio C Hamano33db4372006-06-07 19:51:45875</p>
876</dd>
Junio C Hamano97bcb482010-11-25 03:16:07877<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41878<a id="def_hash"></a>hash
Junio C Hamano1a4e8412005-12-27 08:17:23879</dt>
880<dd>
881<p>
Junio C Hamano97bcb482010-11-25 03:16:07882 In git&#8217;s context, synonym to <a href="#def_object_name">object name</a>.
Junio C Hamano1a4e8412005-12-27 08:17:23883</p>
884</dd>
Junio C Hamano97bcb482010-11-25 03:16:07885<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41886<a id="def_head"></a>head
Junio C Hamano1a4e8412005-12-27 08:17:23887</dt>
888<dd>
889<p>
Junio C Hamano36460982007-05-27 04:29:12890 A <a href="#def_ref">named reference</a> to the <a href="#def_commit">commit</a> at the tip of a
Junio C Hamano360e3a12011-07-13 23:51:56891 <a href="#def_branch">branch</a>. Heads are stored in a file in
892 <tt>$GIT_DIR/refs/heads/</tt> directory, except when using packed refs. (See
Junio C Hamanoa28a9202012-06-21 07:08:23893 <a href="git-pack-refs.html">git-pack-refs(1)</a>.)
Junio C Hamano75485c82007-05-19 04:20:33894</p>
895</dd>
Junio C Hamano97bcb482010-11-25 03:16:07896<dt class="hdlist1">
Junio C Hamano75485c82007-05-19 04:20:33897<a id="def_HEAD"></a>HEAD
898</dt>
899<dd>
900<p>
Junio C Hamano36460982007-05-27 04:29:12901 The current <a href="#def_branch">branch</a>. In more detail: Your <a href="#def_working_tree">working tree</a> is normally derived from the state of the tree
Junio C Hamano75485c82007-05-19 04:20:33902 referred to by HEAD. HEAD is a reference to one of the
903 <a href="#def_head">heads</a> in your repository, except when using a
Junio C Hamano360e3a12011-07-13 23:51:56904 <a href="#def_detached_HEAD">detached HEAD</a>, in which case it directly
905 references an arbitrary commit.
Junio C Hamano1a4e8412005-12-27 08:17:23906</p>
907</dd>
Junio C Hamano97bcb482010-11-25 03:16:07908<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41909<a id="def_head_ref"></a>head ref
Junio C Hamano1a4e8412005-12-27 08:17:23910</dt>
911<dd>
912<p>
Junio C Hamano75485c82007-05-19 04:20:33913 A synonym for <a href="#def_head">head</a>.
Junio C Hamano1a4e8412005-12-27 08:17:23914</p>
915</dd>
Junio C Hamano97bcb482010-11-25 03:16:07916<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41917<a id="def_hook"></a>hook
Junio C Hamano88a3a072006-05-04 08:01:43918</dt>
919<dd>
920<p>
921 During the normal execution of several git commands, call-outs are made
922 to optional scripts that allow a developer to add functionality or
923 checking. Typically, the hooks allow for a command to be pre-verified
924 and potentially aborted, and allow for a post-notification after the
Junio C Hamano75485c82007-05-19 04:20:33925 operation is done. The hook scripts are found in the
Junio C Hamano36460982007-05-27 04:29:12926 <tt>$GIT_DIR/hooks/</tt> directory, and are enabled by simply
Junio C Hamano116db352008-12-17 19:48:40927 removing the <tt>.sample</tt> suffix from the filename. In earlier versions
928 of git you had to make them executable.
Junio C Hamano88a3a072006-05-04 08:01:43929</p>
930</dd>
Junio C Hamano97bcb482010-11-25 03:16:07931<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41932<a id="def_index"></a>index
Junio C Hamano1a4e8412005-12-27 08:17:23933</dt>
934<dd>
935<p>
936 A collection of files with stat information, whose contents are stored
Junio C Hamano36460982007-05-27 04:29:12937 as objects. The index is a stored version of your
938 <a href="#def_working_tree">working tree</a>. Truth be told, it can also contain a second, and even
939 a third version of a working tree, which are used
940 when <a href="#def_merge">merging</a>.
Junio C Hamano1a4e8412005-12-27 08:17:23941</p>
942</dd>
Junio C Hamano97bcb482010-11-25 03:16:07943<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41944<a id="def_index_entry"></a>index entry
Junio C Hamano1a4e8412005-12-27 08:17:23945</dt>
946<dd>
947<p>
948 The information regarding a particular file, stored in the
Junio C Hamano75485c82007-05-19 04:20:33949 <a href="#def_index">index</a>. An index entry can be unmerged, if a
950 <a href="#def_merge">merge</a> was started, but not yet finished (i.e. if
951 the index contains multiple versions of that file).
Junio C Hamano1a4e8412005-12-27 08:17:23952</p>
953</dd>
Junio C Hamano97bcb482010-11-25 03:16:07954<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41955<a id="def_master"></a>master
Junio C Hamanof3e80c02006-01-11 00:54:55956</dt>
957<dd>
958<p>
Junio C Hamano75485c82007-05-19 04:20:33959 The default development <a href="#def_branch">branch</a>. Whenever you
960 create a git <a href="#def_repository">repository</a>, a branch named
961 "master" is created, and becomes the active branch. In most
962 cases, this contains the local development, though that is
963 purely by convention and is not required.
Junio C Hamanof3e80c02006-01-11 00:54:55964</p>
965</dd>
Junio C Hamano97bcb482010-11-25 03:16:07966<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41967<a id="def_merge"></a>merge
Junio C Hamano1a4e8412005-12-27 08:17:23968</dt>
969<dd>
970<p>
Junio C Hamano75485c82007-05-19 04:20:33971 As a verb: To bring the contents of another
972 <a href="#def_branch">branch</a> (possibly from an external
973 <a href="#def_repository">repository</a>) into the current branch. In the
974 case where the merged-in branch is from a different repository,
975 this is done by first <a href="#def_fetch">fetching</a> the remote branch
976 and then merging the result into the current branch. This
977 combination of fetch and merge operations is called a
978 <a href="#def_pull">pull</a>. Merging is performed by an automatic process
979 that identifies changes made since the branches diverged, and
980 then applies all those changes together. In cases where changes
981 conflict, manual intervention may be required to complete the
982 merge.
Junio C Hamano1a4e8412005-12-27 08:17:23983</p>
Junio C Hamano97bcb482010-11-25 03:16:07984<div class="paragraph"><p>As a noun: unless it is a <a href="#def_fast_forward">fast-forward</a>, a
Junio C Hamano75485c82007-05-19 04:20:33985successful merge results in the creation of a new <a href="#def_commit">commit</a>
986representing the result of the merge, and having as
987<a href="#def_parent">parents</a> the tips of the merged <a href="#def_branch">branches</a>.
988This commit is referred to as a "merge commit", or sometimes just a
Junio C Hamanod32738e2008-07-09 19:53:42989"merge".</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:23990</dd>
Junio C Hamano97bcb482010-11-25 03:16:07991<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:41992<a id="def_object"></a>object
Junio C Hamano1a4e8412005-12-27 08:17:23993</dt>
994<dd>
995<p>
996 The unit of storage in git. It is uniquely identified by the
Junio C Hamano3d5b41f2007-03-26 02:33:41997 <a href="#def_SHA1">SHA1</a> of its contents. Consequently, an
Junio C Hamano75485c82007-05-19 04:20:33998 object can not be changed.
Junio C Hamano1a4e8412005-12-27 08:17:23999</p>
1000</dd>
Junio C Hamano97bcb482010-11-25 03:16:071001<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411002<a id="def_object_database"></a>object database
Junio C Hamano1a4e8412005-12-27 08:17:231003</dt>
1004<dd>
1005<p>
Junio C Hamano3d5b41f2007-03-26 02:33:411006 Stores a set of "objects", and an individual <a href="#def_object">object</a> is
1007 identified by its <a href="#def_object_name">object name</a>. The objects usually
Junio C Hamano1a4e8412005-12-27 08:17:231008 live in <tt>$GIT_DIR/objects/</tt>.
1009</p>
1010</dd>
Junio C Hamano97bcb482010-11-25 03:16:071011<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411012<a id="def_object_identifier"></a>object identifier
Junio C Hamano1a4e8412005-12-27 08:17:231013</dt>
1014<dd>
1015<p>
Junio C Hamano3d5b41f2007-03-26 02:33:411016 Synonym for <a href="#def_object_name">object name</a>.
Junio C Hamano1a4e8412005-12-27 08:17:231017</p>
1018</dd>
Junio C Hamano97bcb482010-11-25 03:16:071019<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411020<a id="def_object_name"></a>object name
Junio C Hamano1a4e8412005-12-27 08:17:231021</dt>
1022<dd>
1023<p>
Junio C Hamano3d5b41f2007-03-26 02:33:411024 The unique identifier of an <a href="#def_object">object</a>. The <a href="#def_hash">hash</a>
Junio C Hamano97bcb482010-11-25 03:16:071025 of the object&#8217;s contents using the Secure Hash Algorithm
Junio C Hamano1a4e8412005-12-27 08:17:231026 1 and usually represented by the 40 character hexadecimal encoding of
Junio C Hamano3a702342007-12-12 21:34:021027 the <a href="#def_hash">hash</a> of the object.
Junio C Hamano1a4e8412005-12-27 08:17:231028</p>
1029</dd>
Junio C Hamano97bcb482010-11-25 03:16:071030<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411031<a id="def_object_type"></a>object type
Junio C Hamano21c0b422006-10-12 19:10:361032</dt>
1033<dd>
1034<p>
Junio C Hamano9e1793f2008-06-02 07:31:161035 One of the identifiers "<a href="#def_commit_object">commit</a>",
1036 "<a href="#def_tree_object">tree</a>", "<a href="#def_tag_object">tag</a>" or
1037 "<a href="#def_blob_object">blob</a>" describing the type of an
1038 <a href="#def_object">object</a>.
Junio C Hamano21c0b422006-10-12 19:10:361039</p>
1040</dd>
Junio C Hamano97bcb482010-11-25 03:16:071041<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411042<a id="def_octopus"></a>octopus
Junio C Hamano1a4e8412005-12-27 08:17:231043</dt>
1044<dd>
1045<p>
Junio C Hamano36460982007-05-27 04:29:121046 To <a href="#def_merge">merge</a> more than two <a href="#def_branch">branches</a>. Also denotes an
Junio C Hamano1a4e8412005-12-27 08:17:231047 intelligent predator.
1048</p>
1049</dd>
Junio C Hamano97bcb482010-11-25 03:16:071050<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411051<a id="def_origin"></a>origin
Junio C Hamanof3e80c02006-01-11 00:54:551052</dt>
1053<dd>
1054<p>
Junio C Hamano3d5b41f2007-03-26 02:33:411055 The default upstream <a href="#def_repository">repository</a>. Most projects have
Junio C Hamanod3361ad2007-01-01 03:20:241056 at least one upstream project which they track. By default
Junio C Hamano75485c82007-05-19 04:20:331057 <em>origin</em> is used for that purpose. New upstream updates
Junio C Hamano97bcb482010-11-25 03:16:071058 will be fetched into remote <a href="#def_remote_tracking_branch">remote-tracking branches</a> named
Junio C Hamano3d5b41f2007-03-26 02:33:411059 origin/name-of-upstream-branch, which you can see using
Junio C Hamanoea82cff2009-03-18 01:54:481060 <tt>git branch -r</tt>.
Junio C Hamanof3e80c02006-01-11 00:54:551061</p>
1062</dd>
Junio C Hamano97bcb482010-11-25 03:16:071063<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411064<a id="def_pack"></a>pack
Junio C Hamano1a4e8412005-12-27 08:17:231065</dt>
1066<dd>
1067<p>
1068 A set of objects which have been compressed into one file (to save space
1069 or to transmit them efficiently).
1070</p>
1071</dd>
Junio C Hamano97bcb482010-11-25 03:16:071072<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411073<a id="def_pack_index"></a>pack index
Junio C Hamano1a4e8412005-12-27 08:17:231074</dt>
1075<dd>
1076<p>
1077 The list of identifiers, and other information, of the objects in a
Junio C Hamano3d5b41f2007-03-26 02:33:411078 <a href="#def_pack">pack</a>, to assist in efficiently accessing the contents of a
Junio C Hamano75485c82007-05-19 04:20:331079 pack.
Junio C Hamano1a4e8412005-12-27 08:17:231080</p>
1081</dd>
Junio C Hamano97bcb482010-11-25 03:16:071082<dt class="hdlist1">
Junio C Hamano63c2bc92011-02-28 06:41:281083<a id="def_pathspec"></a>pathspec
1084</dt>
1085<dd>
1086<p>
1087 Pattern used to specify paths.
1088</p>
1089<div class="paragraph"><p>Pathspecs are used on the command line of "git ls-files", "git
Junio C Hamano2a294cd2011-05-23 23:06:311090ls-tree", "git add", "git grep", "git diff", "git checkout",
1091and many other commands to
Junio C Hamano63c2bc92011-02-28 06:41:281092limit the scope of operations to some subset of the tree or
1093worktree. See the documentation of each command for whether
1094paths are relative to the current directory or toplevel. The
1095pathspec syntax is as follows:</p></div>
1096<div class="ulist"><ul>
1097<li>
1098<p>
1099any path matches itself
1100</p>
1101</li>
1102<li>
1103<p>
1104the pathspec up to the last slash represents a
1105 directory prefix. The scope of that pathspec is
1106 limited to that subtree.
1107</p>
1108</li>
1109<li>
1110<p>
1111the rest of the pathspec is a pattern for the remainder
1112 of the pathname. Paths relative to the directory
1113 prefix will be matched against that pattern using fnmatch(3);
1114 in particular, <em>*</em> and <em>?</em> <em>can</em> match directory separators.
1115</p>
1116<div class="paragraph"><p>For example, Documentation/*.jpg will match all .jpg files
1117in the Documentation subtree,
1118including Documentation/chapter_1/figure_1.jpg.</p></div>
1119</li>
1120</ul></div>
Junio C Hamano2a294cd2011-05-23 23:06:311121<div class="paragraph"><p>A pathspec that begins with a colon <tt>:</tt> has special meaning. In the
1122short form, the leading colon <tt>:</tt> is followed by zero or more "magic
1123signature" letters (which optionally is terminated by another colon <tt>:</tt>),
1124and the remainder is the pattern to match against the path. The optional
1125colon that terminates the "magic signature" can be omitted if the pattern
1126begins with a character that cannot be a "magic signature" and is not a
1127colon.</p></div>
1128<div class="paragraph"><p>In the long form, the leading colon <tt>:</tt> is followed by a open
1129parenthesis <tt>(</tt>, a comma-separated list of zero or more "magic words",
1130and a close parentheses <tt>)</tt>, and the remainder is the pattern to match
1131against the path.</p></div>
1132<div class="paragraph"><p>The "magic signature" consists of an ASCII symbol that is not
1133alphanumeric.</p></div>
1134<div class="dlist"><dl>
1135<dt class="hdlist1">
1136top <tt>/</tt>
1137</dt>
1138<dd>
1139<p>
1140 The magic word <tt>top</tt> (mnemonic: <tt>/</tt>) makes the pattern match
1141 from the root of the working tree, even when you are running
1142 the command from inside a subdirectory.
1143</p>
1144</dd>
1145</dl></div>
1146<div class="paragraph"><p>Currently only the slash <tt>/</tt> is recognized as the "magic signature",
1147but it is envisioned that we will support more types of magic in later
1148versions of git.</p></div>
1149<div class="paragraph"><p>A pathspec with only a colon means "there is no pathspec". This form
1150should not be combined with other pathspec.</p></div>
Junio C Hamano63c2bc92011-02-28 06:41:281151</dd>
1152<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411153<a id="def_parent"></a>parent
Junio C Hamano1a4e8412005-12-27 08:17:231154</dt>
1155<dd>
1156<p>
Junio C Hamano3d5b41f2007-03-26 02:33:411157 A <a href="#def_commit_object">commit object</a> contains a (possibly empty) list
Junio C Hamano1a4e8412005-12-27 08:17:231158 of the logical predecessor(s) in the line of development, i.e. its
1159 parents.
1160</p>
1161</dd>
Junio C Hamano97bcb482010-11-25 03:16:071162<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411163<a id="def_pickaxe"></a>pickaxe
Junio C Hamano88a3a072006-05-04 08:01:431164</dt>
1165<dd>
1166<p>
Junio C Hamano3d5b41f2007-03-26 02:33:411167 The term <a href="#def_pickaxe">pickaxe</a> refers to an option to the diffcore
Junio C Hamano88a3a072006-05-04 08:01:431168 routines that help select changes that add or delete a given text
Junio C Hamano9e1793f2008-06-02 07:31:161169 string. With the <tt>--pickaxe-all</tt> option, it can be used to view the full
Junio C Hamano3d5b41f2007-03-26 02:33:411170 <a href="#def_changeset">changeset</a> that introduced or removed, say, a
Junio C Hamanoa28a9202012-06-21 07:08:231171 particular line of text. See <a href="git-diff.html">git-diff(1)</a>.
Junio C Hamano88a3a072006-05-04 08:01:431172</p>
1173</dd>
Junio C Hamano97bcb482010-11-25 03:16:071174<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411175<a id="def_plumbing"></a>plumbing
Junio C Hamano1a4e8412005-12-27 08:17:231176</dt>
1177<dd>
1178<p>
Junio C Hamano3d5b41f2007-03-26 02:33:411179 Cute name for <a href="#def_core_git">core git</a>.
Junio C Hamano1a4e8412005-12-27 08:17:231180</p>
1181</dd>
Junio C Hamano97bcb482010-11-25 03:16:071182<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411183<a id="def_porcelain"></a>porcelain
Junio C Hamano1a4e8412005-12-27 08:17:231184</dt>
1185<dd>
1186<p>
1187 Cute name for programs and program suites depending on
Junio C Hamano3d5b41f2007-03-26 02:33:411188 <a href="#def_core_git">core git</a>, presenting a high level access to
Junio C Hamano75485c82007-05-19 04:20:331189 core git. Porcelains expose more of a <a href="#def_SCM">SCM</a>
Junio C Hamano3d5b41f2007-03-26 02:33:411190 interface than the <a href="#def_plumbing">plumbing</a>.
Junio C Hamano1a4e8412005-12-27 08:17:231191</p>
1192</dd>
Junio C Hamano97bcb482010-11-25 03:16:071193<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411194<a id="def_pull"></a>pull
Junio C Hamano1a4e8412005-12-27 08:17:231195</dt>
1196<dd>
1197<p>
Junio C Hamano3d5b41f2007-03-26 02:33:411198 Pulling a <a href="#def_branch">branch</a> means to <a href="#def_fetch">fetch</a> it and
Junio C Hamanoa28a9202012-06-21 07:08:231199 <a href="#def_merge">merge</a> it. See also <a href="git-pull.html">git-pull(1)</a>.
Junio C Hamano1a4e8412005-12-27 08:17:231200</p>
1201</dd>
Junio C Hamano97bcb482010-11-25 03:16:071202<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411203<a id="def_push"></a>push
Junio C Hamano1a4e8412005-12-27 08:17:231204</dt>
1205<dd>
1206<p>
Junio C Hamano97bcb482010-11-25 03:16:071207 Pushing a <a href="#def_branch">branch</a> means to get the branch&#8217;s
Junio C Hamano3d5b41f2007-03-26 02:33:411208 <a href="#def_head_ref">head ref</a> from a remote <a href="#def_repository">repository</a>,
Junio C Hamano97bcb482010-11-25 03:16:071209 find out if it is a direct ancestor to the branch&#8217;s local
Junio C Hamano764a6672007-10-23 01:23:311210 head ref, and in that case, putting all
Junio C Hamano3d5b41f2007-03-26 02:33:411211 objects, which are <a href="#def_reachable">reachable</a> from the local
Junio C Hamano75485c82007-05-19 04:20:331212 head ref, and which are missing from the remote
1213 repository, into the remote
Junio C Hamano3d5b41f2007-03-26 02:33:411214 <a href="#def_object_database">object database</a>, and updating the remote
Junio C Hamano75485c82007-05-19 04:20:331215 head ref. If the remote <a href="#def_head">head</a> is not an
1216 ancestor to the local head, the push fails.
Junio C Hamano1a4e8412005-12-27 08:17:231217</p>
1218</dd>
Junio C Hamano97bcb482010-11-25 03:16:071219<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411220<a id="def_reachable"></a>reachable
Junio C Hamano1a4e8412005-12-27 08:17:231221</dt>
1222<dd>
1223<p>
Junio C Hamano3d5b41f2007-03-26 02:33:411224 All of the ancestors of a given <a href="#def_commit">commit</a> are said to be
Junio C Hamano75485c82007-05-19 04:20:331225 "reachable" from that commit. More
1226 generally, one <a href="#def_object">object</a> is reachable from
Junio C Hamano3d5b41f2007-03-26 02:33:411227 another if we can reach the one from the other by a <a href="#def_chain">chain</a>
1228 that follows <a href="#def_tag">tags</a> to whatever they tag,
1229 <a href="#def_commit_object">commits</a> to their parents or trees, and
1230 <a href="#def_tree_object">trees</a> to the trees or <a href="#def_blob_object">blobs</a>
1231 that they contain.
Junio C Hamano1a4e8412005-12-27 08:17:231232</p>
1233</dd>
Junio C Hamano97bcb482010-11-25 03:16:071234<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411235<a id="def_rebase"></a>rebase
Junio C Hamano1a4e8412005-12-27 08:17:231236</dt>
1237<dd>
1238<p>
Junio C Hamano3d5b41f2007-03-26 02:33:411239 To reapply a series of changes from a <a href="#def_branch">branch</a> to a
1240 different base, and reset the <a href="#def_head">head</a> of that branch
1241 to the result.
Junio C Hamano1a4e8412005-12-27 08:17:231242</p>
1243</dd>
Junio C Hamano97bcb482010-11-25 03:16:071244<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411245<a id="def_ref"></a>ref
Junio C Hamano1a4e8412005-12-27 08:17:231246</dt>
1247<dd>
1248<p>
Junio C Hamano3d5b41f2007-03-26 02:33:411249 A 40-byte hex representation of a <a href="#def_SHA1">SHA1</a> or a name that
Junio C Hamano360e3a12011-07-13 23:51:561250 denotes a particular <a href="#def_object">object</a>. They may be stored in
1251 a file under <tt>$GIT_DIR/refs/</tt> directory, or
1252 in the <tt>$GIT_DIR/packed-refs</tt> file.
Junio C Hamano1a4e8412005-12-27 08:17:231253</p>
1254</dd>
Junio C Hamano97bcb482010-11-25 03:16:071255<dt class="hdlist1">
Junio C Hamanobb0f4042007-07-04 06:41:401256<a id="def_reflog"></a>reflog
1257</dt>
1258<dd>
1259<p>
1260 A reflog shows the local "history" of a ref. In other words,
Junio C Hamano97bcb482010-11-25 03:16:071261 it can tell you what the 3rd last revision in <em>this</em> repository
1262 was, and what was the current state in <em>this</em> repository,
Junio C Hamanoa28a9202012-06-21 07:08:231263 yesterday 9:14pm. See <a href="git-reflog.html">git-reflog(1)</a> for details.
Junio C Hamanobb0f4042007-07-04 06:41:401264</p>
1265</dd>
Junio C Hamano97bcb482010-11-25 03:16:071266<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411267<a id="def_refspec"></a>refspec
Junio C Hamano88a3a072006-05-04 08:01:431268</dt>
1269<dd>
1270<p>
Junio C Hamano36460982007-05-27 04:29:121271 A "refspec" is used by <a href="#def_fetch">fetch</a> and
Junio C Hamano75485c82007-05-19 04:20:331272 <a href="#def_push">push</a> to describe the mapping between remote
1273 <a href="#def_ref">ref</a> and local ref. They are combined with a colon in
1274 the format &lt;src&gt;:&lt;dst&gt;, preceded by an optional plus sign, +.
1275 For example: <tt>git fetch $URL
1276 refs/heads/master:refs/heads/origin</tt> means "grab the master
1277 <a href="#def_branch">branch</a> <a href="#def_head">head</a> from the $URL and store
1278 it as my origin branch head". And <tt>git push
1279 $URL refs/heads/master:refs/heads/to-upstream</tt> means "publish my
1280 master branch head as to-upstream branch at $URL". See also
Junio C Hamanoa28a9202012-06-21 07:08:231281 <a href="git-push.html">git-push(1)</a>.
Junio C Hamano88a3a072006-05-04 08:01:431282</p>
1283</dd>
Junio C Hamano97bcb482010-11-25 03:16:071284<dt class="hdlist1">
1285<a id="def_remote_tracking_branch"></a>remote-tracking branch
1286</dt>
1287<dd>
1288<p>
1289 A regular git <a href="#def_branch">branch</a> that is used to follow changes from
1290 another <a href="#def_repository">repository</a>. A remote-tracking
1291 branch should not contain direct modifications or have local commits
1292 made to it. A remote-tracking branch can usually be
1293 identified as the right-hand-side <a href="#def_ref">ref</a> in a Pull:
1294 <a href="#def_refspec">refspec</a>.
1295</p>
1296</dd>
1297<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411298<a id="def_repository"></a>repository
Junio C Hamano1a4e8412005-12-27 08:17:231299</dt>
1300<dd>
1301<p>
Junio C Hamano36460982007-05-27 04:29:121302 A collection of <a href="#def_ref">refs</a> together with an
Junio C Hamano75485c82007-05-19 04:20:331303 <a href="#def_object_database">object database</a> containing all objects
1304 which are <a href="#def_reachable">reachable</a> from the refs, possibly
Junio C Hamano36460982007-05-27 04:29:121305 accompanied by meta data from one or more <a href="#def_porcelain">porcelains</a>. A
1306 repository can share an object database with other repositories
1307 via <a href="#def_alternate_object_database">alternates mechanism</a>.
Junio C Hamano1a4e8412005-12-27 08:17:231308</p>
1309</dd>
Junio C Hamano97bcb482010-11-25 03:16:071310<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411311<a id="def_resolve"></a>resolve
Junio C Hamano1a4e8412005-12-27 08:17:231312</dt>
1313<dd>
1314<p>
1315 The action of fixing up manually what a failed automatic
Junio C Hamano3d5b41f2007-03-26 02:33:411316 <a href="#def_merge">merge</a> left behind.
Junio C Hamano1a4e8412005-12-27 08:17:231317</p>
1318</dd>
Junio C Hamano97bcb482010-11-25 03:16:071319<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411320<a id="def_revision"></a>revision
Junio C Hamano1a4e8412005-12-27 08:17:231321</dt>
1322<dd>
1323<p>
1324 A particular state of files and directories which was stored in the
Junio C Hamano3d5b41f2007-03-26 02:33:411325 <a href="#def_object_database">object database</a>. It is referenced by a
1326 <a href="#def_commit_object">commit object</a>.
Junio C Hamano1a4e8412005-12-27 08:17:231327</p>
1328</dd>
Junio C Hamano97bcb482010-11-25 03:16:071329<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411330<a id="def_rewind"></a>rewind
Junio C Hamano1a4e8412005-12-27 08:17:231331</dt>
1332<dd>
1333<p>
1334 To throw away part of the development, i.e. to assign the
Junio C Hamano3d5b41f2007-03-26 02:33:411335 <a href="#def_head">head</a> to an earlier <a href="#def_revision">revision</a>.
Junio C Hamano1a4e8412005-12-27 08:17:231336</p>
1337</dd>
Junio C Hamano97bcb482010-11-25 03:16:071338<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411339<a id="def_SCM"></a>SCM
Junio C Hamano1a4e8412005-12-27 08:17:231340</dt>
1341<dd>
1342<p>
1343 Source code management (tool).
1344</p>
1345</dd>
Junio C Hamano97bcb482010-11-25 03:16:071346<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411347<a id="def_SHA1"></a>SHA1
Junio C Hamano1a4e8412005-12-27 08:17:231348</dt>
1349<dd>
1350<p>
Junio C Hamano3d5b41f2007-03-26 02:33:411351 Synonym for <a href="#def_object_name">object name</a>.
Junio C Hamano1a4e8412005-12-27 08:17:231352</p>
1353</dd>
Junio C Hamano97bcb482010-11-25 03:16:071354<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411355<a id="def_shallow_repository"></a>shallow repository
Junio C Hamano4f9a6052007-01-17 20:25:161356</dt>
1357<dd>
1358<p>
Junio C Hamano36460982007-05-27 04:29:121359 A shallow <a href="#def_repository">repository</a> has an incomplete
1360 history some of whose <a href="#def_commit">commits</a> have <a href="#def_parent">parents</a> cauterized away (in other
Junio C Hamano4f9a6052007-01-17 20:25:161361 words, git is told to pretend that these commits do not have the
Junio C Hamano3d5b41f2007-03-26 02:33:411362 parents, even though they are recorded in the <a href="#def_commit_object">commit object</a>). This is sometimes useful when you are interested only in the
Junio C Hamano4f9a6052007-01-17 20:25:161363 recent history of a project even though the real history recorded in the
Junio C Hamano75485c82007-05-19 04:20:331364 upstream is much larger. A shallow repository
Junio C Hamanoa28a9202012-06-21 07:08:231365 is created by giving the <tt>--depth</tt> option to <a href="git-clone.html">git-clone(1)</a>, and
1366 its history can be later deepened with <a href="git-fetch.html">git-fetch(1)</a>.
Junio C Hamano4f9a6052007-01-17 20:25:161367</p>
1368</dd>
Junio C Hamano97bcb482010-11-25 03:16:071369<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411370<a id="def_symref"></a>symref
Junio C Hamano3a971022006-11-18 22:17:581371</dt>
1372<dd>
1373<p>
Junio C Hamano75485c82007-05-19 04:20:331374 Symbolic reference: instead of containing the <a href="#def_SHA1">SHA1</a>
1375 id itself, it is of the format <em>ref: refs/some/thing</em> and when
1376 referenced, it recursively dereferences to this reference.
1377 <em><a href="#def_HEAD">HEAD</a></em> is a prime example of a symref. Symbolic
Junio C Hamanoa28a9202012-06-21 07:08:231378 references are manipulated with the <a href="git-symbolic-ref.html">git-symbolic-ref(1)</a>
Junio C Hamano75485c82007-05-19 04:20:331379 command.
Junio C Hamano3a971022006-11-18 22:17:581380</p>
1381</dd>
Junio C Hamano97bcb482010-11-25 03:16:071382<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411383<a id="def_tag"></a>tag
Junio C Hamano1a4e8412005-12-27 08:17:231384</dt>
1385<dd>
1386<p>
Junio C Hamano360e3a12011-07-13 23:51:561387 A <a href="#def_ref">ref</a> under <tt>refs/tags/</tt> namespace that points to an
1388 object of an arbitrary type (typically a tag points to either a
1389 <a href="#def_tag_object">tag</a> or a <a href="#def_commit_object">commit object</a>).
1390 In contrast to a <a href="#def_head">head</a>, a tag is not updated by
1391 the <tt>commit</tt> command. A git tag has nothing to do with a Lisp
1392 tag (which would be called an <a href="#def_object_type">object type</a>
1393 in git&#8217;s context). A tag is most typically used to mark a particular
1394 point in the commit ancestry <a href="#def_chain">chain</a>.
Junio C Hamano1a4e8412005-12-27 08:17:231395</p>
1396</dd>
Junio C Hamano97bcb482010-11-25 03:16:071397<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411398<a id="def_tag_object"></a>tag object
Junio C Hamano1a4e8412005-12-27 08:17:231399</dt>
1400<dd>
1401<p>
Junio C Hamano3d5b41f2007-03-26 02:33:411402 An <a href="#def_object">object</a> containing a <a href="#def_ref">ref</a> pointing to
Junio C Hamano75485c82007-05-19 04:20:331403 another object, which can contain a message just like a
Junio C Hamano3d5b41f2007-03-26 02:33:411404 <a href="#def_commit_object">commit object</a>. It can also contain a (PGP)
Junio C Hamano36460982007-05-27 04:29:121405 signature, in which case it is called a "signed tag object".
Junio C Hamano1a4e8412005-12-27 08:17:231406</p>
1407</dd>
Junio C Hamano97bcb482010-11-25 03:16:071408<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411409<a id="def_topic_branch"></a>topic branch
Junio C Hamano88a3a072006-05-04 08:01:431410</dt>
1411<dd>
1412<p>
Junio C Hamano3d5b41f2007-03-26 02:33:411413 A regular git <a href="#def_branch">branch</a> that is used by a developer to
Junio C Hamano88a3a072006-05-04 08:01:431414 identify a conceptual line of development. Since branches are very easy
1415 and inexpensive, it is often desirable to have several small branches
1416 that each contain very well defined concepts or small incremental yet
1417 related changes.
1418</p>
1419</dd>
Junio C Hamano97bcb482010-11-25 03:16:071420<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411421<a id="def_tree"></a>tree
Junio C Hamano1a4e8412005-12-27 08:17:231422</dt>
1423<dd>
1424<p>
Junio C Hamano36460982007-05-27 04:29:121425 Either a <a href="#def_working_tree">working tree</a>, or a <a href="#def_tree_object">tree object</a> together with the dependent <a href="#def_blob_object">blob</a> and tree objects
Junio C Hamano75485c82007-05-19 04:20:331426 (i.e. a stored representation of a working tree).
Junio C Hamano1a4e8412005-12-27 08:17:231427</p>
1428</dd>
Junio C Hamano97bcb482010-11-25 03:16:071429<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411430<a id="def_tree_object"></a>tree object
Junio C Hamano1a4e8412005-12-27 08:17:231431</dt>
1432<dd>
1433<p>
Junio C Hamano3d5b41f2007-03-26 02:33:411434 An <a href="#def_object">object</a> containing a list of file names and modes along
1435 with refs to the associated blob and/or tree objects. A
1436 <a href="#def_tree">tree</a> is equivalent to a <a href="#def_directory">directory</a>.
Junio C Hamano1a4e8412005-12-27 08:17:231437</p>
1438</dd>
Junio C Hamano97bcb482010-11-25 03:16:071439<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411440<a id="def_tree-ish"></a>tree-ish
Junio C Hamano1a4e8412005-12-27 08:17:231441</dt>
1442<dd>
1443<p>
Junio C Hamano75485c82007-05-19 04:20:331444 A <a href="#def_ref">ref</a> pointing to either a <a href="#def_commit_object">commit object</a>, a <a href="#def_tree_object">tree object</a>, or a <a href="#def_tag_object">tag object</a> pointing to a tag or commit or tree object.
Junio C Hamano1a4e8412005-12-27 08:17:231445</p>
1446</dd>
Junio C Hamano97bcb482010-11-25 03:16:071447<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411448<a id="def_unmerged_index"></a>unmerged index
Junio C Hamano21c0b422006-10-12 19:10:361449</dt>
1450<dd>
1451<p>
Junio C Hamano3d5b41f2007-03-26 02:33:411452 An <a href="#def_index">index</a> which contains unmerged
1453 <a href="#def_index_entry">index entries</a>.
Junio C Hamano21c0b422006-10-12 19:10:361454</p>
1455</dd>
Junio C Hamano97bcb482010-11-25 03:16:071456<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411457<a id="def_unreachable_object"></a>unreachable object
Junio C Hamanoaa83a7d2007-03-05 02:37:291458</dt>
1459<dd>
1460<p>
Junio C Hamano3d5b41f2007-03-26 02:33:411461 An <a href="#def_object">object</a> which is not <a href="#def_reachable">reachable</a> from a
1462 <a href="#def_branch">branch</a>, <a href="#def_tag">tag</a>, or any other reference.
Junio C Hamanoaa83a7d2007-03-05 02:37:291463</p>
1464</dd>
Junio C Hamano97bcb482010-11-25 03:16:071465<dt class="hdlist1">
Junio C Hamano98e32c32009-04-13 02:39:531466<a id="def_upstream_branch"></a>upstream branch
1467</dt>
1468<dd>
1469<p>
1470 The default <a href="#def_branch">branch</a> that is merged into the branch in
1471 question (or the branch in question is rebased onto). It is configured
1472 via branch.&lt;name&gt;.remote and branch.&lt;name&gt;.merge. If the upstream branch
1473 of <em>A</em> is <em>origin/B</em> sometimes we say "<em>A</em> is tracking <em>origin/B</em>".
1474</p>
1475</dd>
Junio C Hamano97bcb482010-11-25 03:16:071476<dt class="hdlist1">
Junio C Hamano3d5b41f2007-03-26 02:33:411477<a id="def_working_tree"></a>working tree
Junio C Hamano1a4e8412005-12-27 08:17:231478</dt>
1479<dd>
1480<p>
Junio C Hamanoc0e55e72009-10-10 00:56:291481 The tree of actual checked out files. The working tree normally
Junio C Hamano97bcb482010-11-25 03:16:071482 contains the contents of the <a href="#def_HEAD">HEAD</a> commit&#8217;s tree,
Junio C Hamanoc0e55e72009-10-10 00:56:291483 plus any local changes that you have made but not yet committed.
Junio C Hamano1a4e8412005-12-27 08:17:231484</p>
1485</dd>
Junio C Hamanod32738e2008-07-09 19:53:421486</dl></div>
Junio C Hamano1a4e8412005-12-27 08:17:231487</div>
Junio C Hamanod32738e2008-07-09 19:53:421488<h2 id="_see_also">SEE ALSO</h2>
Junio C Hamano9e1793f2008-06-02 07:31:161489<div class="sectionbody">
Junio C Hamanoa28a9202012-06-21 07:08:231490<div class="paragraph"><p><a href="gittutorial.html">gittutorial(7)</a>,
1491<a href="gittutorial-2.html">gittutorial-2(7)</a>,
1492<a href="gitcvs-migration.html">gitcvs-migration(7)</a>,
Junio C Hamanod3452a02008-11-15 08:07:551493<a href="everyday.html">Everyday git</a>,
Junio C Hamano97bcb482010-11-25 03:16:071494<a href="user-manual.html">The Git User&#8217;s Manual</a></p></div>
Junio C Hamano9e1793f2008-06-02 07:31:161495</div>
Junio C Hamanod32738e2008-07-09 19:53:421496<h2 id="_git">GIT</h2>
Junio C Hamano9e1793f2008-06-02 07:31:161497<div class="sectionbody">
Junio C Hamanoa28a9202012-06-21 07:08:231498<div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite.</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:231499</div>
Junio C Hamano7bd050f2011-09-22 06:32:221500</div>
1501<div id="footnotes"><hr /></div>
Junio C Hamano1a4e8412005-12-27 08:17:231502<div id="footer">
1503<div id="footer-text">
Junio C Hamano02194af2011-11-17 20:33:591504Last updated 2011-11-15 13:45:02 PDT
Junio C Hamano1a4e8412005-12-27 08:17:231505</div>
1506</div>
1507</body>
1508</html>