summaryrefslogtreecommitdiffstats
path: root/gitrevisions.html
diff options
context:
space:
mode:
authorJunio C Hamano <junio@kernel.org>2010-07-15 22:24:45 +0000
committerJunio C Hamano <junio@kernel.org>2010-07-15 22:24:45 +0000
commit78e3a7820b2267111cd2f29fd3d06e8919f2b36c (patch)
treee5eb61d417f8655688f52d01beeddb01b9503560 /gitrevisions.html
parent635553978d5d3414c3d9699aa009ae29839356ab (diff)
downloadgit-htmldocs-78e3a7820b2267111cd2f29fd3d06e8919f2b36c.tar.gz
Autogenerated HTML docs for v1.7.2-rc3-39-g53b30
Diffstat (limited to 'gitrevisions.html')
-rw-r--r--gitrevisions.html610
1 files changed, 610 insertions, 0 deletions
diff --git a/gitrevisions.html b/gitrevisions.html
new file mode 100644
index 000000000..2ebdd6352
--- /dev/null
+++ b/gitrevisions.html
@@ -0,0 +1,610 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 8.2.5" />
+<style type="text/css">
+/* Debug borders */
+p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
+/*
+ border: 1px solid red;
+*/
+}
+
+body {
+ margin: 1em 5% 1em 5%;
+}
+
+a {
+ color: blue;
+ text-decoration: underline;
+}
+a:visited {
+ color: fuchsia;
+}
+
+em {
+ font-style: italic;
+}
+
+strong {
+ font-weight: bold;
+}
+
+tt {
+ color: navy;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color: #527bbd;
+ font-family: sans-serif;
+ margin-top: 1.2em;
+ margin-bottom: 0.5em;
+ line-height: 1.3;
+}
+
+h1, h2, h3 {
+ border-bottom: 2px solid silver;
+}
+h2 {
+ padding-top: 0.5em;
+}
+h3 {
+ float: left;
+}
+h3 + * {
+ clear: left;
+}
+
+div.sectionbody {
+ font-family: serif;
+ margin-left: 0;
+}
+
+hr {
+ border: 1px solid silver;
+}
+
+p {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+pre {
+ padding: 0;
+ margin: 0;
+}
+
+span#author {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ font-size: 1.1em;
+}
+span#email {
+}
+span#revision {
+ font-family: sans-serif;
+}
+
+div#footer {
+ font-family: sans-serif;
+ font-size: small;
+ border-top: 2px solid silver;
+ padding-top: 0.5em;
+ margin-top: 4.0em;
+}
+div#footer-text {
+ float: left;
+ padding-bottom: 0.5em;
+}
+div#footer-badges {
+ float: right;
+ padding-bottom: 0.5em;
+}
+
+div#preamble,
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ margin-right: 10%;
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.admonitionblock {
+ margin-top: 2.5em;
+ margin-bottom: 2.5em;
+}
+
+div.content { /* Block element content. */
+ padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+ font-family: sans-serif;
+ font-weight: bold;
+ text-align: left;
+ margin-top: 1.0em;
+ margin-bottom: 0.5em;
+}
+div.title + * {
+ margin-top: 0;
+}
+
+td div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content + div.title {
+ margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+ background: #ffffee;
+ border: 1px solid silver;
+ padding: 0.5em;
+}
+
+div.listingblock {
+ margin-right: 0%;
+}
+div.listingblock > div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock > div.content {
+ padding-left: 2.0em;
+}
+
+div.attribution {
+ text-align: right;
+}
+div.verseblock + div.attribution {
+ text-align: left;
+}
+
+div.admonitionblock .icon {
+ vertical-align: top;
+ font-size: 1.1em;
+ font-weight: bold;
+ text-decoration: underline;
+ color: #527bbd;
+ padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+ padding-left: 0.5em;
+ border-left: 2px solid silver;
+}
+
+div.exampleblock > div.content {
+ border-left: 2px solid silver;
+ padding: 0.5em;
+}
+
+div.verseblock div.content {
+ white-space: pre;
+}
+
+div.imageblock div.content { padding-left: 0; }
+div.imageblock img { border: 1px solid silver; }
+span.image img { border-style: none; }
+
+dl {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+dt {
+ margin-top: 0.5em;
+ margin-bottom: 0;
+ font-style: italic;
+}
+dd > *:first-child {
+ margin-top: 0;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+div.olist2 ol {
+ list-style-type: lower-alpha;
+}
+
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead {
+ font-family: sans-serif;
+ font-weight: bold;
+}
+tfoot {
+ font-weight: bold;
+}
+
+div.hlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+div.hlist td {
+ padding-bottom: 5px;
+}
+td.hlist1 {
+ vertical-align: top;
+ font-style: italic;
+ padding-right: 0.8em;
+}
+td.hlist2 {
+ vertical-align: top;
+}
+
+@media print {
+ div#footer-badges { display: none; }
+}
+
+div#toctitle {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 1.0em;
+ margin-bottom: 0.1em;
+}
+
+div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+div.toclevel2 {
+ margin-left: 2em;
+ font-size: 0.9em;
+}
+div.toclevel3 {
+ margin-left: 4em;
+ font-size: 0.9em;
+}
+div.toclevel4 {
+ margin-left: 6em;
+ font-size: 0.9em;
+}
+include1::./stylesheets/xhtml11-manpage.css[]
+/* Workarounds for IE6's broken and incomplete CSS2. */
+
+div.sidebar-content {
+ background: #ffffee;
+ border: 1px solid silver;
+ padding: 0.5em;
+}
+div.sidebar-title, div.image-title {
+ font-family: sans-serif;
+ font-weight: bold;
+ margin-top: 0.0em;
+ margin-bottom: 0.5em;
+}
+
+div.listingblock div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock-content {
+ padding-left: 2.0em;
+}
+
+div.exampleblock-content {
+ border-left: 2px solid silver;
+ padding-left: 0.5em;
+}
+
+/* IE6 sets dynamically generated links as visited. */
+div#toc a:visited { color: blue; }
+</style>
+<title>gitrevisions(7)</title>
+</head>
+<body>
+<div id="header">
+<h1>
+gitrevisions(7) Manual Page
+</h1>
+<h2>NAME</h2>
+<div class="sectionbody">
+<p>gitrevisions -
+ specifying revisions and ranges for git
+</p>
+</div>
+</div>
+<h2>SYNOPSIS</h2>
+<div class="sectionbody">
+<div class="para"><p>gitrevisions</p></div>
+</div>
+<h2 id="_description">DESCRIPTION</h2>
+<div class="sectionbody">
+<div class="para"><p>Many Git commands take revision parameters as arguments. Depending on
+the command, they denote a specific commit or, for commands which
+walk the revision graph (such as <a href="git-log.html">git-log(1)</a>), all commits which can
+be reached from that commit. In the latter case one can also specify a
+range of revisions explicitly.</p></div>
+<div class="para"><p>In addition, some Git commands (such as <a href="git-show.html">git-show(1)</a>) also take
+revision parameters which denote other objects than commits, e.g. blobs
+("files") or trees ("directories of files").</p></div>
+</div>
+<h2 id="_specifying_revisions">SPECIFYING REVISIONS</h2>
+<div class="sectionbody">
+<div class="para"><p>A revision parameter typically, but not necessarily, names a
+commit object. They use what is called an <em>extended SHA1</em>
+syntax. Here are various ways to spell object names. The
+ones listed near the end of this list are to name trees and
+blobs contained in a commit.</p></div>
+<div class="ilist"><ul>
+<li>
+<p>
+The full SHA1 object name (40-byte hexadecimal string), or
+ a substring of such that is unique within the repository.
+ E.g. dae86e1950b1277e545cee180551750029cfe735 and dae86e both
+ name the same commit object if there are no other object in
+ your repository whose object name starts with dae86e.
+</p>
+</li>
+<li>
+<p>
+An output from <em>git describe</em>; i.e. a closest tag, optionally
+ followed by a dash and a number of commits, followed by a dash, a
+ <tt>g</tt>, and an abbreviated object name.
+</p>
+</li>
+<li>
+<p>
+A symbolic ref name. E.g. <em>master</em> typically means the commit
+ object referenced by refs/heads/master. If you
+ happen to have both heads/master and tags/master, you can
+ explicitly say <em>heads/master</em> to tell git which one you mean.
+ When ambiguous, a <tt>&lt;name&gt;</tt> is disambiguated by taking the
+ first match in the following rules:
+</p>
+<div class="olist"><ol>
+<li>
+<p>
+if <tt>$GIT_DIR/&lt;name&gt;</tt> exists, that is what you mean (this is usually
+ useful only for <tt>HEAD</tt>, <tt>FETCH_HEAD</tt>, <tt>ORIG_HEAD</tt> and <tt>MERGE_HEAD</tt>);
+</p>
+</li>
+<li>
+<p>
+otherwise, <tt>refs/&lt;name&gt;</tt> if exists;
+</p>
+</li>
+<li>
+<p>
+otherwise, <tt>refs/tags/&lt;name&gt;</tt> if exists;
+</p>
+</li>
+<li>
+<p>
+otherwise, <tt>refs/heads/&lt;name&gt;</tt> if exists;
+</p>
+</li>
+<li>
+<p>
+otherwise, <tt>refs/remotes/&lt;name&gt;</tt> if exists;
+</p>
+</li>
+<li>
+<p>
+otherwise, <tt>refs/remotes/&lt;name&gt;/HEAD</tt> if exists.
+</p>
+<div class="para"><p>HEAD names the commit your changes in the working tree is based on.
+FETCH_HEAD records the branch you fetched from a remote repository
+with your last <em>git fetch</em> invocation.
+ORIG_HEAD is created by commands that moves your HEAD in a drastic
+way, to record the position of the HEAD before their operation, so that
+you can change the tip of the branch back to the state before you ran
+them easily.
+MERGE_HEAD records the commit(s) you are merging into your branch
+when you run <em>git merge</em>.</p></div>
+<div class="para"><p>Note that any of the <tt>refs/*</tt> cases above may come either from
+the <tt>$GIT_DIR/refs</tt> directory or from the <tt>$GIT_DIR/packed-refs</tt> file.</p></div>
+</li>
+</ol></div>
+</li>
+<li>
+<p>
+A ref followed by the suffix <em>@</em> with a date specification
+ enclosed in a brace
+ pair (e.g. <em>{yesterday}</em>, <em>{1 month 2 weeks 3 days 1 hour 1
+ second ago}</em> or <em>{1979-02-26 18:30:00}</em>) to specify the value
+ of the ref at a prior point in time. This suffix may only be
+ used immediately following a ref name and the ref must have an
+ existing log ($GIT_DIR/logs/&lt;ref&gt;). Note that this looks up the state
+ of your <strong>local</strong> ref at a given time; e.g., what was in your local
+ <tt>master</tt> branch last week. If you want to look at commits made during
+ certain times, see <tt>--since</tt> and <tt>--until</tt>.
+</p>
+</li>
+<li>
+<p>
+A ref followed by the suffix <em>@</em> with an ordinal specification
+ enclosed in a brace pair (e.g. <em>{1}</em>, <em>{15}</em>) to specify
+ the n-th prior value of that ref. For example <em>master@{1}</em>
+ is the immediate prior value of <em>master</em> while <em>master@{5}</em>
+ is the 5th prior value of <em>master</em>. This suffix may only be used
+ immediately following a ref name and the ref must have an existing
+ log ($GIT_DIR/logs/&lt;ref&gt;).
+</p>
+</li>
+<li>
+<p>
+You can use the <em>@</em> construct with an empty ref part to get at a
+ reflog of the current branch. For example, if you are on the
+ branch <em>blabla</em>, then <em>@{1}</em> means the same as <em>blabla@{1}</em>.
+</p>
+</li>
+<li>
+<p>
+The special construct <em>@{-&lt;n&gt;}</em> means the &lt;n&gt;th branch checked out
+ before the current one.
+</p>
+</li>
+<li>
+<p>
+The suffix <em>@{upstream}</em> to a ref (short form <em>ref@{u}</em>) refers to
+ the branch the ref is set to build on top of. Missing ref defaults
+ to the current branch.
+</p>
+</li>
+<li>
+<p>
+A suffix <em>&#94;</em> to a revision parameter (e.g. <em>HEAD&#94;</em>) means the first parent of
+ that commit object. <em>&#94;&lt;n&gt;</em> means the &lt;n&gt;th parent (i.e.
+ <em>rev&#94;</em>
+ is equivalent to <em>rev&#94;1</em>). As a special rule,
+ <em>rev&#94;0</em> means the commit itself and is used when <em>rev</em> is the
+ object name of a tag object that refers to a commit object.
+</p>
+</li>
+<li>
+<p>
+A suffix <em>&#126;&lt;n&gt;</em> to a revision parameter means the commit
+ object that is the &lt;n&gt;th generation grand-parent of the named
+ commit object, following only the first parent. I.e. rev~3 is
+ equivalent to rev&#94;&#94;&#94; which is equivalent to
+ rev&#94;1&#94;1&#94;1. See below for a illustration of
+ the usage of this form.
+</p>
+</li>
+<li>
+<p>
+A suffix <em>&#94;</em> followed by an object type name enclosed in
+ brace pair (e.g. <tt>v0.99.8&#94;{commit}</tt>) means the object
+ could be a tag, and dereference the tag recursively until an
+ object of that type is found or the object cannot be
+ dereferenced anymore (in which case, barf). <tt>rev&#94;0</tt>
+ introduced earlier is a short-hand for <tt>rev&#94;{commit}</tt>.
+</p>
+</li>
+<li>
+<p>
+A suffix <em>&#94;</em> followed by an empty brace pair
+ (e.g. <tt>v0.99.8&#94;{}</tt>) means the object could be a tag,
+ and dereference the tag recursively until a non-tag object is
+ found.
+</p>
+</li>
+<li>
+<p>
+A colon, followed by a slash, followed by a text (e.g. <tt>:/fix nasty bug</tt>): this names
+ a commit whose commit message starts with the specified text.
+ This name returns the youngest matching commit which is
+ reachable from any ref. If the commit message starts with a
+ <em>!</em>, you have to repeat that; the special sequence <em>:/!</em>,
+ followed by something else than <em>!</em> is reserved for now.
+</p>
+</li>
+<li>
+<p>
+A suffix <em>:</em> followed by a path (e.g. <tt>HEAD:README</tt>); this names the blob or tree
+ at the given path in the tree-ish object named by the part
+ before the colon.
+ <em>:path</em> (with an empty part before the colon, e.g. <tt>:README</tt>)
+ is a special case of the syntax described next: content
+ recorded in the index at the given path.
+</p>
+</li>
+<li>
+<p>
+A colon, optionally followed by a stage number (0 to 3) and a
+ colon, followed by a path (e.g. <tt>:0:README</tt>); this names a blob object in the
+ index at the given path. Missing stage number (and the colon
+ that follows it, e.g. <tt>:README</tt>) names a stage 0 entry. During a merge, stage
+ 1 is the common ancestor, stage 2 is the target branch's version
+ (typically the current branch), and stage 3 is the version from
+ the branch being merged.
+</p>
+</li>
+</ul></div>
+<div class="para"><p>Here is an illustration, by Jon Loeliger. Both commit nodes B
+and C are parents of commit node A. Parent commits are ordered
+left-to-right.</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>G H I J
+ \ / \ /
+ D E F
+ \ | / \
+ \ | / |
+ \|/ |
+ B C
+ \ /
+ \ /
+ A</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>A = = A^0
+B = A^ = A^1 = A~1
+C = A^2 = A^2
+D = A^^ = A^1^1 = A~2
+E = B^2 = A^^2
+F = B^3 = A^^3
+G = A^^^ = A^1^1^1 = A~3
+H = D^2 = B^^2 = A^^^2 = A~2^2
+I = F^ = B^3^ = A^^3^
+J = F^2 = B^3^2 = A^^3^2</tt></pre>
+</div></div>
+</div>
+<h2 id="_specifying_ranges">SPECIFYING RANGES</h2>
+<div class="sectionbody">
+<div class="para"><p>History traversing commands such as <em>git log</em> operate on a set
+of commits, not just a single commit. To these commands,
+specifying a single revision with the notation described in the
+previous section means the set of commits reachable from that
+commit, following the commit ancestry chain.</p></div>
+<div class="para"><p>To exclude commits reachable from a commit, a prefix <tt>&#94;</tt>
+notation is used. E.g. <tt>&#94;r1 r2</tt> means commits reachable
+from <tt>r2</tt> but exclude the ones reachable from <tt>r1</tt>.</p></div>
+<div class="para"><p>This set operation appears so often that there is a shorthand
+for it. When you have two commits <tt>r1</tt> and <tt>r2</tt> (named according
+to the syntax explained in SPECIFYING REVISIONS above), you can ask
+for commits that are reachable from r2 excluding those that are reachable
+from r1 by <tt>&#94;r1 r2</tt> and it can be written as <tt>r1..r2</tt>.</p></div>
+<div class="para"><p>A similar notation <tt>r1...r2</tt> is called symmetric difference
+of <tt>r1</tt> and <tt>r2</tt> and is defined as
+<tt>r1 r2 --not $(git merge-base --all r1 r2)</tt>.
+It is the set of commits that are reachable from either one of
+<tt>r1</tt> or <tt>r2</tt> but not from both.</p></div>
+<div class="para"><p>Two other shorthands for naming a set that is formed by a commit
+and its parent commits exist. The <tt>r1&#94;@</tt> notation means all
+parents of <tt>r1</tt>. <tt>r1&#94;!</tt> includes commit <tt>r1</tt> but excludes
+all of its parents.</p></div>
+<div class="para"><p>Here are a handful of examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>D G H D
+D F G H I J D F
+^G D H D
+^D B E I J F B
+B...C G H D E B C
+^D B C E I J F B C
+C^@ I J F
+F^! D G H D F</tt></pre>
+</div></div>
+</div>
+<h2 id="_see_also">SEE ALSO</h2>
+<div class="sectionbody">
+<div class="para"><p><a href="git-rev-parse.html">git-rev-parse(1)</a></p></div>
+</div>
+<h2 id="_git">GIT</h2>
+<div class="sectionbody">
+<div class="para"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2010-07-15 22:24:06 UTC
+</div>
+</div>
+</body>
+</html>