Autogenerated HTML docs for v1.6.6-69-gc18d
[git/jnareb-git.git] / git-merge-base.html
blob4fe467bf7fea520ff9d4f39796073d9cd2c76a16
1 <!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" />
6 <meta name="generator" content="AsciiDoc 8.2.5" />
7 <style type="text/css">
8 /* Debug borders */
9 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
11 border: 1px solid red;
15 body {
16 margin: 1em 5% 1em 5%;
19 a {
20 color: blue;
21 text-decoration: underline;
23 a:visited {
24 color: fuchsia;
27 em {
28 font-style: italic;
31 strong {
32 font-weight: bold;
35 tt {
36 color: navy;
39 h1, h2, h3, h4, h5, h6 {
40 color: #527bbd;
41 font-family: sans-serif;
42 margin-top: 1.2em;
43 margin-bottom: 0.5em;
44 line-height: 1.3;
47 h1, h2, h3 {
48 border-bottom: 2px solid silver;
50 h2 {
51 padding-top: 0.5em;
53 h3 {
54 float: left;
56 h3 + * {
57 clear: left;
60 div.sectionbody {
61 font-family: serif;
62 margin-left: 0;
65 hr {
66 border: 1px solid silver;
69 p {
70 margin-top: 0.5em;
71 margin-bottom: 0.5em;
74 pre {
75 padding: 0;
76 margin: 0;
79 span#author {
80 color: #527bbd;
81 font-family: sans-serif;
82 font-weight: bold;
83 font-size: 1.1em;
85 span#email {
87 span#revision {
88 font-family: sans-serif;
91 div#footer {
92 font-family: sans-serif;
93 font-size: small;
94 border-top: 2px solid silver;
95 padding-top: 0.5em;
96 margin-top: 4.0em;
98 div#footer-text {
99 float: left;
100 padding-bottom: 0.5em;
102 div#footer-badges {
103 float: right;
104 padding-bottom: 0.5em;
107 div#preamble,
108 div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
109 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
110 div.admonitionblock {
111 margin-right: 10%;
112 margin-top: 1.5em;
113 margin-bottom: 1.5em;
115 div.admonitionblock {
116 margin-top: 2.5em;
117 margin-bottom: 2.5em;
120 div.content { /* Block element content. */
121 padding: 0;
124 /* Block element titles. */
125 div.title, caption.title {
126 font-family: sans-serif;
127 font-weight: bold;
128 text-align: left;
129 margin-top: 1.0em;
130 margin-bottom: 0.5em;
132 div.title + * {
133 margin-top: 0;
136 td div.title:first-child {
137 margin-top: 0.0em;
139 div.content div.title:first-child {
140 margin-top: 0.0em;
142 div.content + div.title {
143 margin-top: 0.0em;
146 div.sidebarblock > div.content {
147 background: #ffffee;
148 border: 1px solid silver;
149 padding: 0.5em;
152 div.listingblock {
153 margin-right: 0%;
155 div.listingblock > div.content {
156 border: 1px solid silver;
157 background: #f4f4f4;
158 padding: 0.5em;
161 div.quoteblock > div.content {
162 padding-left: 2.0em;
165 div.attribution {
166 text-align: right;
168 div.verseblock + div.attribution {
169 text-align: left;
172 div.admonitionblock .icon {
173 vertical-align: top;
174 font-size: 1.1em;
175 font-weight: bold;
176 text-decoration: underline;
177 color: #527bbd;
178 padding-right: 0.5em;
180 div.admonitionblock td.content {
181 padding-left: 0.5em;
182 border-left: 2px solid silver;
185 div.exampleblock > div.content {
186 border-left: 2px solid silver;
187 padding: 0.5em;
190 div.verseblock div.content {
191 white-space: pre;
194 div.imageblock div.content { padding-left: 0; }
195 div.imageblock img { border: 1px solid silver; }
196 span.image img { border-style: none; }
198 dl {
199 margin-top: 0.8em;
200 margin-bottom: 0.8em;
202 dt {
203 margin-top: 0.5em;
204 margin-bottom: 0;
205 font-style: italic;
207 dd > *:first-child {
208 margin-top: 0;
211 ul, ol {
212 list-style-position: outside;
214 div.olist2 ol {
215 list-style-type: lower-alpha;
218 div.tableblock > table {
219 border: 3px solid #527bbd;
221 thead {
222 font-family: sans-serif;
223 font-weight: bold;
225 tfoot {
226 font-weight: bold;
229 div.hlist {
230 margin-top: 0.8em;
231 margin-bottom: 0.8em;
233 div.hlist td {
234 padding-bottom: 5px;
236 td.hlist1 {
237 vertical-align: top;
238 font-style: italic;
239 padding-right: 0.8em;
241 td.hlist2 {
242 vertical-align: top;
245 @media print {
246 div#footer-badges { display: none; }
249 div#toctitle {
250 color: #527bbd;
251 font-family: sans-serif;
252 font-size: 1.1em;
253 font-weight: bold;
254 margin-top: 1.0em;
255 margin-bottom: 0.1em;
258 div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
259 margin-top: 0;
260 margin-bottom: 0;
262 div.toclevel2 {
263 margin-left: 2em;
264 font-size: 0.9em;
266 div.toclevel3 {
267 margin-left: 4em;
268 font-size: 0.9em;
270 div.toclevel4 {
271 margin-left: 6em;
272 font-size: 0.9em;
274 include1::./stylesheets/xhtml11-manpage.css[]
275 /* Workarounds for IE6's broken and incomplete CSS2. */
277 div.sidebar-content {
278 background: #ffffee;
279 border: 1px solid silver;
280 padding: 0.5em;
282 div.sidebar-title, div.image-title {
283 font-family: sans-serif;
284 font-weight: bold;
285 margin-top: 0.0em;
286 margin-bottom: 0.5em;
289 div.listingblock div.content {
290 border: 1px solid silver;
291 background: #f4f4f4;
292 padding: 0.5em;
295 div.quoteblock-content {
296 padding-left: 2.0em;
299 div.exampleblock-content {
300 border-left: 2px solid silver;
301 padding-left: 0.5em;
304 /* IE6 sets dynamically generated links as visited. */
305 div#toc a:visited { color: blue; }
306 </style>
307 <title>git-merge-base(1)</title>
308 </head>
309 <body>
310 <div id="header">
311 <h1>
312 git-merge-base(1) Manual Page
313 </h1>
314 <h2>NAME</h2>
315 <div class="sectionbody">
316 <p>git-merge-base -
317 Find as good common ancestors as possible for a merge
318 </p>
319 </div>
320 </div>
321 <h2>SYNOPSIS</h2>
322 <div class="sectionbody">
323 <div class="para"><p><em>git merge-base</em> [-a|--all] &lt;commit&gt; &lt;commit&gt;&#8230;</p></div>
324 </div>
325 <h2 id="_description">DESCRIPTION</h2>
326 <div class="sectionbody">
327 <div class="para"><p><em>git merge-base</em> finds best common ancestor(s) between two commits to use
328 in a three-way merge. One common ancestor is <em>better</em> than another common
329 ancestor if the latter is an ancestor of the former. A common ancestor
330 that does not have any better common ancestor is a <em>best common
331 ancestor</em>, i.e. a <em>merge base</em>. Note that there can be more than one
332 merge base for a pair of commits.</p></div>
333 <div class="para"><p>Among the two commits to compute the merge base from, one is specified by
334 the first commit argument on the command line; the other commit is a
335 (possibly hypothetical) commit that is a merge across all the remaining
336 commits on the command line. As the most common special case, specifying only
337 two commits on the command line means computing the merge base between
338 the given two commits.</p></div>
339 <div class="para"><p>As a consequence, the <em>merge base</em> is not necessarily contained in each of the
340 commit arguments if more than two commits are specified. This is different
341 from <a href="git-show-branch.html">git-show-branch(1)</a> when used with the <tt>--merge-base</tt> option.</p></div>
342 </div>
343 <h2 id="_options">OPTIONS</h2>
344 <div class="sectionbody">
345 <div class="vlist"><dl>
346 <dt>
348 </dt>
349 <dt>
350 --all
351 </dt>
352 <dd>
354 Output all merge bases for the commits, instead of just one.
355 </p>
356 </dd>
357 </dl></div>
358 </div>
359 <h2 id="_discussion">DISCUSSION</h2>
360 <div class="sectionbody">
361 <div class="para"><p>Given two commits <em>A</em> and <em>B</em>, <tt>git merge-base A B</tt> will output a commit
362 which is reachable from both <em>A</em> and <em>B</em> through the parent relationship.</p></div>
363 <div class="para"><p>For example, with this topology:</p></div>
364 <div class="literalblock">
365 <div class="content">
366 <pre><tt> o---o---o---B
368 ---o---1---o---o---o---A</tt></pre>
369 </div></div>
370 <div class="para"><p>the merge base between <em>A</em> and <em>B</em> is <em>1</em>.</p></div>
371 <div class="para"><p>Given three commits <em>A</em>, <em>B</em> and <em>C</em>, <tt>git merge-base A B C</tt> will compute the
372 merge base between <em>A</em> and a hypothetical commit <em>M</em>, which is a merge
373 between <em>B</em> and <em>C</em>. For example, with this topology:</p></div>
374 <div class="literalblock">
375 <div class="content">
376 <pre><tt> o---o---o---o---C
378 / o---o---o---B
380 ---2---1---o---o---o---A</tt></pre>
381 </div></div>
382 <div class="para"><p>the result of <tt>git merge-base A B C</tt> is <em>1</em>. This is because the
383 equivalent topology with a merge commit <em>M</em> between <em>B</em> and <em>C</em> is:</p></div>
384 <div class="literalblock">
385 <div class="content">
386 <pre><tt> o---o---o---o---o
388 / o---o---o---o---M
390 ---2---1---o---o---o---A</tt></pre>
391 </div></div>
392 <div class="para"><p>and the result of <tt>git merge-base A M</tt> is <em>1</em>. Commit <em>2</em> is also a
393 common ancestor between <em>A</em> and <em>M</em>, but <em>1</em> is a better common ancestor,
394 because <em>2</em> is an ancestor of <em>1</em>. Hence, <em>2</em> is not a merge base.</p></div>
395 <div class="para"><p>When the history involves criss-cross merges, there can be more than one
396 <em>best</em> common ancestor for two commits. For example, with this topology:</p></div>
397 <div class="literalblock">
398 <div class="content">
399 <pre><tt>---1---o---A
403 ---2---o---o---B</tt></pre>
404 </div></div>
405 <div class="para"><p>both <em>1</em> and <em>2</em> are merge-bases of A and B. Neither one is better than
406 the other (both are <em>best</em> merge bases). When the <tt>--all</tt> option is not given,
407 it is unspecified which best one is output.</p></div>
408 </div>
409 <h2 id="_author">Author</h2>
410 <div class="sectionbody">
411 <div class="para"><p>Written by Linus Torvalds &lt;torvalds@osdl.org&gt;</p></div>
412 </div>
413 <h2 id="_documentation">Documentation</h2>
414 <div class="sectionbody">
415 <div class="para"><p>Documentation by David Greaves, Junio C Hamano and the git-list &lt;git@vger.kernel.org&gt;.</p></div>
416 </div>
417 <h2 id="_git">GIT</h2>
418 <div class="sectionbody">
419 <div class="para"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
420 </div>
421 <div id="footer">
422 <div id="footer-text">
423 Last updated 2009-12-03 09:12:40 UTC
424 </div>
425 </div>
426 </body>
427 </html>