summaryrefslogtreecommitdiffstats
path: root/git-checkout.html
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2012-12-18 16:43:11 -0800
committerJunio C Hamano <gitster@pobox.com>2012-12-18 16:43:11 -0800
commit9d9711544dc3090db6e5c52f9ce9c300bf4f5c14 (patch)
tree23257b9801739fd96c9e82ef98a17500dce9f88e /git-checkout.html
parent9629d4f49e5ffcff5c5beb5c40bedcffcabcd905 (diff)
downloadgit-htmldocs-9d9711544dc3090db6e5c52f9ce9c300bf4f5c14.tar.gz
Autogenerated HTML docs for v1.8.1-rc2-5-g252f9
Diffstat (limited to 'git-checkout.html')
-rw-r--r--git-checkout.html516
1 files changed, 345 insertions, 171 deletions
diff --git a/git-checkout.html b/git-checkout.html
index 3b6938579..e4c8fdde3 100644
--- a/git-checkout.html
+++ b/git-checkout.html
@@ -2,15 +2,25 @@
"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.5.2" />
+<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 8.6.8" />
<title>git-checkout(1)</title>
<style type="text/css">
-/* Debug borders */
-p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
-/*
- border: 1px solid red;
-*/
+/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
+
+/* Default font. */
+body {
+ font-family: Georgia,serif;
+}
+
+/* Title font. */
+h1, h2, h3, h4, h5, h6,
+div.title, caption.title,
+thead, p.table.header,
+#toctitle,
+#author, #revnumber, #revdate, #revremark,
+#footer {
+ font-family: Arial,Helvetica,sans-serif;
}
body {
@@ -35,13 +45,8 @@ strong {
color: #083194;
}
-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;
@@ -59,9 +64,11 @@ h3 {
h3 + * {
clear: left;
}
+h5 {
+ font-size: 1.0em;
+}
div.sectionbody {
- font-family: serif;
margin-left: 0;
}
@@ -77,45 +84,48 @@ p {
ul, ol, li > p {
margin-top: 0;
}
+ul > li { color: #aaa; }
+ul > li > * { color: black; }
-pre {
+.monospaced, code, pre {
+ font-family: "Courier New", Courier, monospace;
+ font-size: inherit;
+ color: navy;
padding: 0;
margin: 0;
}
-span#author {
+
+#author {
color: #527bbd;
- font-family: sans-serif;
font-weight: bold;
font-size: 1.1em;
}
-span#email {
+#email {
}
-span#revnumber, span#revdate, span#revremark {
- font-family: sans-serif;
+#revnumber, #revdate, #revremark {
}
-div#footer {
- font-family: sans-serif;
+#footer {
font-size: small;
border-top: 2px solid silver;
padding-top: 0.5em;
margin-top: 4.0em;
}
-div#footer-text {
+#footer-text {
float: left;
padding-bottom: 0.5em;
}
-div#footer-badges {
+#footer-badges {
float: right;
padding-bottom: 0.5em;
}
-div#preamble {
+#preamble {
margin-top: 1.5em;
margin-bottom: 1.5em;
}
-div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.imageblock, div.exampleblock, div.verseblock,
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
div.admonitionblock {
margin-top: 1.0em;
@@ -135,7 +145,6 @@ div.content { /* Block element content. */
/* Block element titles. */
div.title, caption.title {
color: #527bbd;
- font-family: sans-serif;
font-weight: bold;
text-align: left;
margin-top: 1.0em;
@@ -157,13 +166,15 @@ div.content + div.title {
div.sidebarblock > div.content {
background: #ffffee;
- border: 1px solid silver;
+ border: 1px solid #dddddd;
+ border-left: 4px solid #f0f0f0;
padding: 0.5em;
}
div.listingblock > div.content {
- border: 1px solid silver;
- background: #f4f4f4;
+ border: 1px solid #dddddd;
+ border-left: 5px solid #f0f0f0;
+ background: #f8f8f8;
padding: 0.5em;
}
@@ -171,8 +182,8 @@ div.quoteblock, div.verseblock {
padding-left: 1.0em;
margin-left: 1.0em;
margin-right: 10%;
- border-left: 5px solid #dddddd;
- color: #777777;
+ border-left: 5px solid #f0f0f0;
+ color: #888;
}
div.quoteblock > div.attribution {
@@ -180,8 +191,9 @@ div.quoteblock > div.attribution {
text-align: right;
}
-div.verseblock > div.content {
- white-space: pre;
+div.verseblock > pre.content {
+ font-family: inherit;
+ font-size: inherit;
}
div.verseblock > div.attribution {
padding-top: 0.75em;
@@ -254,35 +266,12 @@ div.compact div, div.compact div {
margin-bottom: 0.1em;
}
-div.tableblock > table {
- border: 3px solid #527bbd;
-}
-thead, p.table.header {
- font-family: sans-serif;
- font-weight: bold;
-}
tfoot {
font-weight: bold;
}
td > div.verse {
white-space: pre;
}
-p.table {
- margin-top: 0;
-}
-/* Because the table frame attribute is overriden by CSS in most browsers. */
-div.tableblock > table[frame="void"] {
- border-style: none;
-}
-div.tableblock > table[frame="hsides"] {
- border-left-style: none;
- border-right-style: none;
-}
-div.tableblock > table[frame="vsides"] {
- border-top-style: none;
- border-bottom-style: none;
-}
-
div.hdlist {
margin-top: 0.8em;
@@ -339,25 +328,32 @@ span.footnote, span.footnoteref {
min-width: 100px;
}
+div.colist td {
+ padding-right: 0.5em;
+ padding-bottom: 0.3em;
+ vertical-align: top;
+}
+div.colist td img {
+ margin-top: 0.3em;
+}
@media print {
- div#footer-badges { display: none; }
+ #footer-badges { display: none; }
}
-div#toc {
+#toc {
margin-bottom: 2.5em;
}
-div#toctitle {
+#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 {
+div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
margin-top: 0;
margin-bottom: 0;
}
@@ -373,69 +369,173 @@ div.toclevel4 {
margin-left: 6em;
font-size: 0.9em;
}
-/* Overrides for manpage documents */
-h1 {
- padding-top: 0.5em;
- padding-bottom: 0.5em;
- border-top: 2px solid silver;
- border-bottom: 2px solid silver;
+
+span.aqua { color: aqua; }
+span.black { color: black; }
+span.blue { color: blue; }
+span.fuchsia { color: fuchsia; }
+span.gray { color: gray; }
+span.green { color: green; }
+span.lime { color: lime; }
+span.maroon { color: maroon; }
+span.navy { color: navy; }
+span.olive { color: olive; }
+span.purple { color: purple; }
+span.red { color: red; }
+span.silver { color: silver; }
+span.teal { color: teal; }
+span.white { color: white; }
+span.yellow { color: yellow; }
+
+span.aqua-background { background: aqua; }
+span.black-background { background: black; }
+span.blue-background { background: blue; }
+span.fuchsia-background { background: fuchsia; }
+span.gray-background { background: gray; }
+span.green-background { background: green; }
+span.lime-background { background: lime; }
+span.maroon-background { background: maroon; }
+span.navy-background { background: navy; }
+span.olive-background { background: olive; }
+span.purple-background { background: purple; }
+span.red-background { background: red; }
+span.silver-background { background: silver; }
+span.teal-background { background: teal; }
+span.white-background { background: white; }
+span.yellow-background { background: yellow; }
+
+span.big { font-size: 2em; }
+span.small { font-size: 0.6em; }
+
+span.underline { text-decoration: underline; }
+span.overline { text-decoration: overline; }
+span.line-through { text-decoration: line-through; }
+
+div.unbreakable { page-break-inside: avoid; }
+
+
+/*
+ * xhtml11 specific
+ *
+ * */
+
+div.tableblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
}
-h2 {
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead, p.table.header {
+ font-weight: bold;
+ color: #527bbd;
+}
+p.table {
+ margin-top: 0;
+}
+/* Because the table frame attribute is overriden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
border-style: none;
}
-div.sectionbody {
- margin-left: 5%;
+div.tableblock > table[frame="hsides"] {
+ border-left-style: none;
+ border-right-style: none;
}
-
-@media print {
- div#toc { display: none; }
+div.tableblock > table[frame="vsides"] {
+ border-top-style: none;
+ border-bottom-style: none;
}
-/* Workarounds for IE6's broken and incomplete CSS2. */
-div.sidebar-content {
- background: #ffffee;
- border: 1px solid silver;
- padding: 0.5em;
+/*
+ * html5 specific
+ *
+ * */
+
+table.tableblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
}
-div.sidebar-title, div.image-title {
- color: #527bbd;
- font-family: sans-serif;
+thead, p.tableblock.header {
font-weight: bold;
- margin-top: 0.0em;
- margin-bottom: 0.5em;
+ color: #527bbd;
+}
+p.tableblock {
+ margin-top: 0;
+}
+table.tableblock {
+ border-width: 3px;
+ border-spacing: 0px;
+ border-style: solid;
+ border-color: #527bbd;
+ border-collapse: collapse;
+}
+th.tableblock, td.tableblock {
+ border-width: 1px;
+ padding: 4px;
+ border-style: solid;
+ border-color: #527bbd;
}
-div.listingblock div.content {
- border: 1px solid silver;
- background: #f4f4f4;
- padding: 0.5em;
+table.tableblock.frame-topbot {
+ border-left-style: hidden;
+ border-right-style: hidden;
+}
+table.tableblock.frame-sides {
+ border-top-style: hidden;
+ border-bottom-style: hidden;
+}
+table.tableblock.frame-none {
+ border-style: hidden;
}
-div.quoteblock-attribution {
- padding-top: 0.5em;
+th.tableblock.halign-left, td.tableblock.halign-left {
+ text-align: left;
+}
+th.tableblock.halign-center, td.tableblock.halign-center {
+ text-align: center;
+}
+th.tableblock.halign-right, td.tableblock.halign-right {
text-align: right;
}
-div.verseblock-content {
- white-space: pre;
+th.tableblock.valign-top, td.tableblock.valign-top {
+ vertical-align: top;
}
-div.verseblock-attribution {
- padding-top: 0.75em;
- text-align: left;
+th.tableblock.valign-middle, td.tableblock.valign-middle {
+ vertical-align: middle;
+}
+th.tableblock.valign-bottom, td.tableblock.valign-bottom {
+ vertical-align: bottom;
}
-div.exampleblock-content {
- border-left: 3px solid #dddddd;
- padding-left: 0.5em;
+
+/*
+ * manpage specific
+ *
+ * */
+
+body.manpage h1 {
+ padding-top: 0.5em;
+ padding-bottom: 0.5em;
+ border-top: 2px solid silver;
+ border-bottom: 2px solid silver;
+}
+body.manpage h2 {
+ border-style: none;
+}
+body.manpage div.sectionbody {
+ margin-left: 3em;
}
-/* IE6 sets dynamically generated links as visited. */
-div#toc a:visited { color: blue; }
+@media print {
+ body.manpage div#toc { display: none; }
+}
+
+
</style>
<script type="text/javascript">
/*<![CDATA[*/
-window.onload = function(){asciidoc.footnotes();}
var asciidoc = { // Namespace.
/////////////////////////////////////////////////////////////////////
@@ -477,7 +577,7 @@ toc: function (toclevels) {
function tocEntries(el, toclevels) {
var result = new Array;
- var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
+ var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
// Function that scans the DOM tree for header elements (the DOM2
// nodeIterator API would be a better technique but not supported by all
// browsers).
@@ -497,6 +597,25 @@ toc: function (toclevels) {
}
var toc = document.getElementById("toc");
+ if (!toc) {
+ return;
+ }
+
+ // Delete existing TOC entries in case we're reloading the TOC.
+ var tocEntriesToRemove = [];
+ var i;
+ for (i = 0; i < toc.childNodes.length; i++) {
+ var entry = toc.childNodes[i];
+ if (entry.nodeName.toLowerCase() == 'div'
+ && entry.getAttribute("class")
+ && entry.getAttribute("class").match(/^toclevel/))
+ tocEntriesToRemove.push(entry);
+ }
+ for (i = 0; i < tocEntriesToRemove.length; i++) {
+ toc.removeChild(tocEntriesToRemove[i]);
+ }
+
+ // Rebuild TOC entries.
var entries = tocEntries(document.getElementById("content"), toclevels);
for (var i = 0; i < entries.length; ++i) {
var entry = entries[i];
@@ -524,24 +643,44 @@ toc: function (toclevels) {
*/
footnotes: function () {
- var cont = document.getElementById("content");
+ // Delete existing footnote entries in case we're reloading the footnodes.
+ var i;
var noteholder = document.getElementById("footnotes");
+ if (!noteholder) {
+ return;
+ }
+ var entriesToRemove = [];
+ for (i = 0; i < noteholder.childNodes.length; i++) {
+ var entry = noteholder.childNodes[i];
+ if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
+ entriesToRemove.push(entry);
+ }
+ for (i = 0; i < entriesToRemove.length; i++) {
+ noteholder.removeChild(entriesToRemove[i]);
+ }
+
+ // Rebuild footnote entries.
+ var cont = document.getElementById("content");
var spans = cont.getElementsByTagName("span");
var refs = {};
var n = 0;
for (i=0; i<spans.length; i++) {
if (spans[i].className == "footnote") {
n++;
- // Use [\s\S] in place of . so multi-line matches work.
- // Because JavaScript has no s (dotall) regex flag.
- note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
+ var note = spans[i].getAttribute("data-note");
+ if (!note) {
+ // Use [\s\S] in place of . so multi-line matches work.
+ // Because JavaScript has no s (dotall) regex flag.
+ note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
+ spans[i].innerHTML =
+ "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
+ "' title='View footnote' class='footnote'>" + n + "</a>]";
+ spans[i].setAttribute("data-note", note);
+ }
noteholder.innerHTML +=
"<div class='footnote' id='_footnote_" + n + "'>" +
"<a href='#_footnoteref_" + n + "' title='Return to text'>" +
n + "</a>. " + note + "</div>";
- spans[i].innerHTML =
- "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
- "' title='View footnote' class='footnote'>" + n + "</a>]";
var id =spans[i].getAttribute("id");
if (id != null) refs["#"+id] = n;
}
@@ -561,13 +700,36 @@ footnotes: function () {
}
}
}
+},
+
+install: function(toclevels) {
+ var timerId;
+
+ function reinstall() {
+ asciidoc.footnotes();
+ if (toclevels) {
+ asciidoc.toc(toclevels);
+ }
+ }
+
+ function reinstallAndRemoveTimer() {
+ clearInterval(timerId);
+ reinstall();
+ }
+
+ timerId = setInterval(reinstall, 500);
+ if (document.addEventListener)
+ document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
+ else
+ window.onload = reinstallAndRemoveTimer;
}
}
+asciidoc.install();
/*]]>*/
</script>
</head>
-<body>
+<body class="manpage">
<div id="header">
<h1>
git-checkout(1) Manual Page
@@ -580,22 +742,25 @@ git-checkout(1) Manual Page
</div>
</div>
<div id="content">
+<div class="sect1">
<h2 id="_synopsis">SYNOPSIS</h2>
<div class="sectionbody">
<div class="verseblock">
-<div class="verseblock-content"><em>git checkout</em> [-q] [-f] [-m] [&lt;branch&gt;]
+<pre class="content"><em>git checkout</em> [-q] [-f] [-m] [&lt;branch&gt;]
<em>git checkout</em> [-q] [-f] [-m] [--detach] [&lt;commit&gt;]
<em>git checkout</em> [-q] [-f] [-m] [[-b|-B|--orphan] &lt;new_branch&gt;] [&lt;start_point&gt;]
<em>git checkout</em> [-f|--ours|--theirs|-m|--conflict=&lt;style&gt;] [&lt;tree-ish&gt;] [--] &lt;paths&gt;&#8230;
-<em>git checkout</em> [-p|--patch] [&lt;tree-ish&gt;] [--] [&lt;paths&gt;&#8230;]</div>
-<div class="verseblock-attribution">
+<em>git checkout</em> [-p|--patch] [&lt;tree-ish&gt;] [--] [&lt;paths&gt;&#8230;]</pre>
+<div class="attribution">
</div></div>
</div>
+</div>
+<div class="sect1">
<h2 id="_description">DESCRIPTION</h2>
<div class="sectionbody">
<div class="paragraph"><p>Updates files in the working tree to match the version in the index
or the specified tree. If no paths are given, <em>git checkout</em> will
-also update <tt>HEAD</tt> to set the specified branch as the current
+also update <code>HEAD</code> to set the specified branch as the current
branch.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
@@ -612,17 +777,17 @@ branch.</p></div>
This form switches branches by updating the index, working
tree, and HEAD to reflect the specified branch or commit.
</p>
-<div class="paragraph"><p>If <tt>-b</tt> is given, a new branch is created as if <a href="git-branch.html">git-branch(1)</a>
+<div class="paragraph"><p>If <code>-b</code> is given, a new branch is created as if <a href="git-branch.html">git-branch(1)</a>
were called and then checked out; in this case you can
-use the <tt>--track</tt> or <tt>--no-track</tt> options, which will be passed to
-<em>git branch</em>. As a convenience, <tt>--track</tt> without <tt>-b</tt> implies branch
-creation; see the description of <tt>--track</tt> below.</p></div>
-<div class="paragraph"><p>If <tt>-B</tt> is given, &lt;new_branch&gt; is created if it doesn&#8217;t exist; otherwise, it
+use the <code>--track</code> or <code>--no-track</code> options, which will be passed to
+<em>git branch</em>. As a convenience, <code>--track</code> without <code>-b</code> implies branch
+creation; see the description of <code>--track</code> below.</p></div>
+<div class="paragraph"><p>If <code>-B</code> is given, &lt;new_branch&gt; is created if it doesn&#8217;t exist; otherwise, it
is reset. This is the transactional equivalent of</p></div>
<div class="listingblock">
<div class="content">
-<pre><tt>$ git branch -f &lt;branch&gt; [&lt;start point&gt;]
-$ git checkout &lt;branch&gt;</tt></pre>
+<pre><code>$ git branch -f &lt;branch&gt; [&lt;start point&gt;]
+$ git checkout &lt;branch&gt;</code></pre>
</div></div>
<div class="paragraph"><p>that is to say, the branch is not reset/created unless "git checkout" is
successful.</p></div>
@@ -632,10 +797,10 @@ successful.</p></div>
</dt>
<dd>
<p>
- When &lt;paths&gt; or <tt>--patch</tt> are given, <em>git checkout</em> does <strong>not</strong>
+ When &lt;paths&gt; or <code>--patch</code> are given, <em>git checkout</em> does <strong>not</strong>
switch branches. It updates the named paths in the working tree
from the index file or from a named &lt;tree-ish&gt; (most often a
- commit). In this case, the <tt>-b</tt> and <tt>--track</tt> options are
+ commit). In this case, the <code>-b</code> and <code>--track</code> options are
meaningless and giving either of them results in an error. The
&lt;tree-ish&gt; argument can be used to specify a specific tree-ish
(i.e. commit, tag or tree) to update the index for the given
@@ -644,13 +809,15 @@ successful.</p></div>
<div class="paragraph"><p>The index may contain unmerged entries because of a previous failed merge.
By default, if you try to check out such an entry from the index, the
checkout operation will fail and nothing will be checked out.
-Using <tt>-f</tt> will ignore these unmerged entries. The contents from a
+Using <code>-f</code> will ignore these unmerged entries. The contents from a
specific side of the merge can be checked out of the index by
-using <tt>--ours</tt> or <tt>--theirs</tt>. With <tt>-m</tt>, changes made to the working tree
+using <code>--ours</code> or <code>--theirs</code>. With <code>-m</code>, changes made to the working tree
file can be discarded to re-create the original conflicted merge result.</p></div>
</dd>
</dl></div>
</div>
+</div>
+<div class="sect1">
<h2 id="_options">OPTIONS</h2>
<div class="sectionbody">
<div class="dlist"><dl>
@@ -809,7 +976,7 @@ working tree, by copying them from elsewhere, extracting a tarball, etc.</p></di
</p>
<div class="paragraph"><p>When a merge conflict happens, the index entries for conflicting
paths are left unmerged, and you need to resolve the conflicts
-and mark the resolved paths with <tt>git add</tt> (or <tt>git rm</tt> if the merge
+and mark the resolved paths with <code>git add</code> (or <code>git rm</code> if the merge
should result in deletion of the path).</p></div>
<div class="paragraph"><p>When checking out paths from the index, this option lets you recreate
the conflicted merge in the specified paths.</p></div>
@@ -839,9 +1006,9 @@ the conflicted merge in the specified paths.</p></div>
tree. The chosen hunks are then applied in reverse to the
working tree (and if a &lt;tree-ish&gt; was specified, the index).
</p>
-<div class="paragraph"><p>This means that you can use <tt>git checkout -p</tt> to selectively discard
-edits from your current working tree. See the <tt>`Interactive Mode''
-section of linkgit:git-add[1] to learn how to operate the `--patch</tt> mode.</p></div>
+<div class="paragraph"><p>This means that you can use <code>git checkout -p</code> to selectively discard
+edits from your current working tree. See the &#8220;Interactive Mode&#8221;
+section of <a href="git-add.html">git-add(1)</a> to learn how to operate the <code>--patch</code> mode.</p></div>
</dd>
<dt class="hdlist1">
&lt;branch&gt;
@@ -854,12 +1021,12 @@ section of linkgit:git-add[1] to learn how to operate the `--patch</tt> mode.</p
commit, your HEAD becomes "detached" and you are no longer on
any branch (see below for details).
</p>
-<div class="paragraph"><p>As a special case, the <tt>"@{-N}"</tt> syntax for the N-th last branch
+<div class="paragraph"><p>As a special case, the <code>"@{-N}"</code> syntax for the N-th last branch
checks out the branch (instead of detaching). You may also specify
-<tt>-</tt> which is synonymous with <tt>"@{-1}"</tt>.</p></div>
-<div class="paragraph"><p>As a further special case, you may use <tt>"A...B"</tt> as a shortcut for the
-merge base of <tt>A</tt> and <tt>B</tt> if there is exactly one merge base. You can
-leave out at most one of <tt>A</tt> and <tt>B</tt>, in which case it defaults to <tt>HEAD</tt>.</p></div>
+<code>-</code> which is synonymous with <code>"@{-1}"</code>.</p></div>
+<div class="paragraph"><p>As a further special case, you may use <code>"A...B"</code> as a shortcut for the
+merge base of <code>A</code> and <code>B</code> if there is exactly one merge base. You can
+leave out at most one of <code>A</code> and <code>B</code>, in which case it defaults to <code>HEAD</code>.</p></div>
</dd>
<dt class="hdlist1">
&lt;new_branch&gt;
@@ -889,6 +1056,8 @@ leave out at most one of <tt>A</tt> and <tt>B</tt>, in which case it defaults to
</dd>
</dl></div>
</div>
+</div>
+<div class="sect1">
<h2 id="_detached_head">DETACHED HEAD</h2>
<div class="sectionbody">
<div class="paragraph"><p>HEAD normally refers to a named branch (e.g. <em>master</em>). Meanwhile, each
@@ -896,13 +1065,13 @@ branch refers to a specific commit. Let&#8217;s look at a repo with three
commits, one of them tagged, and with branch <em>master</em> checked out:</p></div>
<div class="listingblock">
<div class="content">
-<pre><tt> HEAD (refers to branch 'master')
+<pre><code> HEAD (refers to branch 'master')
|
v
a---b---c branch 'master' (refers to commit 'c')
^
|
- tag 'v2.0' (refers to commit 'b')</tt></pre>
+ tag 'v2.0' (refers to commit 'b')</code></pre>
</div></div>
<div class="paragraph"><p>When a commit is created in this state, the branch is updated to refer to
the new commit. Specifically, <em>git commit</em> creates a new commit <em>d</em>, whose
@@ -911,7 +1080,7 @@ commit <em>d</em>. HEAD still refers to branch <em>master</em> and so indirectly
to commit <em>d</em>:</p></div>
<div class="listingblock">
<div class="content">
-<pre><tt>$ edit; git add; git commit
+<pre><code>$ edit; git add; git commit
HEAD (refers to branch 'master')
|
@@ -919,7 +1088,7 @@ to commit <em>d</em>:</p></div>
a---b---c---d branch 'master' (refers to commit 'd')
^
|
- tag 'v2.0' (refers to commit 'b')</tt></pre>
+ tag 'v2.0' (refers to commit 'b')</code></pre>
</div></div>
<div class="paragraph"><p>It is sometimes useful to be able to checkout a commit that is not at
the tip of any named branch, or even to create a new commit that is not
@@ -927,7 +1096,7 @@ referenced by a named branch. Let&#8217;s look at what happens when we
checkout commit <em>b</em> (here we show two ways this may be done):</p></div>
<div class="listingblock">
<div class="content">
-<pre><tt>$ git checkout v2.0 # or
+<pre><code>$ git checkout v2.0 # or
$ git checkout master^^
HEAD (refers to commit 'b')
@@ -936,7 +1105,7 @@ $ git checkout master^^
a---b---c---d branch 'master' (refers to commit 'd')
^
|
- tag 'v2.0' (refers to commit 'b')</tt></pre>
+ tag 'v2.0' (refers to commit 'b')</code></pre>
</div></div>
<div class="paragraph"><p>Notice that regardless of which checkout command we use, HEAD now refers
directly to commit <em>b</em>. This is known as being in detached HEAD state.
@@ -944,7 +1113,7 @@ It means simply that HEAD refers to a specific commit, as opposed to
referring to a named branch. Let&#8217;s see what happens when we create a commit:</p></div>
<div class="listingblock">
<div class="content">
-<pre><tt>$ edit; git add; git commit
+<pre><code>$ edit; git add; git commit
HEAD (refers to commit 'e')
|
@@ -954,13 +1123,13 @@ referring to a named branch. Let&#8217;s see what happens when we create a commi
a---b---c---d branch 'master' (refers to commit 'd')
^
|
- tag 'v2.0' (refers to commit 'b')</tt></pre>
+ tag 'v2.0' (refers to commit 'b')</code></pre>
</div></div>
<div class="paragraph"><p>There is now a new commit <em>e</em>, but it is referenced only by HEAD. We can
of course add yet another commit in this state:</p></div>
<div class="listingblock">
<div class="content">
-<pre><tt>$ edit; git add; git commit
+<pre><code>$ edit; git add; git commit
HEAD (refers to commit 'f')
|
@@ -970,13 +1139,13 @@ of course add yet another commit in this state:</p></div>
a---b---c---d branch 'master' (refers to commit 'd')
^
|
- tag 'v2.0' (refers to commit 'b')</tt></pre>
+ tag 'v2.0' (refers to commit 'b')</code></pre>
</div></div>
<div class="paragraph"><p>In fact, we can perform all the normal git operations. But, let&#8217;s look
at what happens when we then checkout master:</p></div>
<div class="listingblock">
<div class="content">
-<pre><tt>$ git checkout master
+<pre><code>$ git checkout master
HEAD (refers to branch 'master')
e---f |
@@ -984,7 +1153,7 @@ at what happens when we then checkout master:</p></div>
a---b---c---d branch 'master' (refers to commit 'd')
^
|
- tag 'v2.0' (refers to commit 'b')</tt></pre>
+ tag 'v2.0' (refers to commit 'b')</code></pre>
</div></div>
<div class="paragraph"><p>It is important to realize that at this point nothing refers to commit
<em>f</em>. Eventually commit <em>f</em> (and by extension commit <em>e</em>) will be deleted
@@ -993,9 +1162,9 @@ before that happens. If we have not yet moved away from commit <em>f</em>,
any of these will create a reference to it:</p></div>
<div class="listingblock">
<div class="content">
-<pre><tt>$ git checkout -b foo <b>&lt;1&gt;</b>
+<pre><code>$ git checkout -b foo <b>&lt;1&gt;</b>
$ git branch foo <b>&lt;2&gt;</b>
-$ git tag foo <b>&lt;3&gt;</b></tt></pre>
+$ git tag foo <b>&lt;3&gt;</b></code></pre>
</div></div>
<div class="colist arabic"><ol>
<li>
@@ -1024,25 +1193,27 @@ it. For example, to see the last two commits to which HEAD referred, we
can use either of these commands:</p></div>
<div class="listingblock">
<div class="content">
-<pre><tt>$ git reflog -2 HEAD # or
-$ git log -g -2 HEAD</tt></pre>
+<pre><code>$ git reflog -2 HEAD # or
+$ git log -g -2 HEAD</code></pre>
</div></div>
</div>
+</div>
+<div class="sect1">
<h2 id="_examples">EXAMPLES</h2>
<div class="sectionbody">
<div class="olist arabic"><ol class="arabic">
<li>
<p>
-The following sequence checks out the <tt>master</tt> branch, reverts
-the <tt>Makefile</tt> to two revisions back, deletes hello.c by
+The following sequence checks out the <code>master</code> branch, reverts
+the <code>Makefile</code> to two revisions back, deletes hello.c by
mistake, and gets it back from the index.
</p>
<div class="listingblock">
<div class="content">
-<pre><tt>$ git checkout master <b>&lt;1&gt;</b>
+<pre><code>$ git checkout master <b>&lt;1&gt;</b>
$ git checkout master~2 Makefile <b>&lt;2&gt;</b>
$ rm -f hello.c
-$ git checkout hello.c <b>&lt;3&gt;</b></tt></pre>
+$ git checkout hello.c <b>&lt;3&gt;</b></code></pre>
</div></div>
<div class="colist arabic"><ol>
<li>
@@ -1063,18 +1234,18 @@ restore hello.c from the index
you can say</p></div>
<div class="listingblock">
<div class="content">
-<pre><tt>$ git checkout -- '*.c'</tt></pre>
+<pre><code>$ git checkout -- '*.c'</code></pre>
</div></div>
-<div class="paragraph"><p>Note the quotes around <tt>*.c</tt>. The file <tt>hello.c</tt> will also be
+<div class="paragraph"><p>Note the quotes around <code>*.c</code>. The file <code>hello.c</code> will also be
checked out, even though it is no longer in the working tree,
because the file globbing is used to match entries in the index
(not in the working tree by the shell).</p></div>
-<div class="paragraph"><p>If you have an unfortunate branch that is named <tt>hello.c</tt>, this
+<div class="paragraph"><p>If you have an unfortunate branch that is named <code>hello.c</code>, this
step would be confused as an instruction to switch to that branch.
You should instead write:</p></div>
<div class="listingblock">
<div class="content">
-<pre><tt>$ git checkout -- hello.c</tt></pre>
+<pre><code>$ git checkout -- hello.c</code></pre>
</div></div>
</li>
</ol></div>
@@ -1086,56 +1257,59 @@ branch would be done using:
</p>
<div class="listingblock">
<div class="content">
-<pre><tt>$ git checkout mytopic</tt></pre>
+<pre><code>$ git checkout mytopic</code></pre>
</div></div>
<div class="paragraph"><p>However, your "wrong" branch and correct "mytopic" branch may
differ in files that you have modified locally, in which case
the above checkout would fail like this:</p></div>
<div class="listingblock">
<div class="content">
-<pre><tt>$ git checkout mytopic
-error: You have local changes to 'frotz'; not switching branches.</tt></pre>
+<pre><code>$ git checkout mytopic
+error: You have local changes to 'frotz'; not switching branches.</code></pre>
</div></div>
-<div class="paragraph"><p>You can give the <tt>-m</tt> flag to the command, which would try a
+<div class="paragraph"><p>You can give the <code>-m</code> flag to the command, which would try a
three-way merge:</p></div>
<div class="listingblock">
<div class="content">
-<pre><tt>$ git checkout -m mytopic
-Auto-merging frotz</tt></pre>
+<pre><code>$ git checkout -m mytopic
+Auto-merging frotz</code></pre>
</div></div>
<div class="paragraph"><p>After this three-way merge, the local modifications are <em>not</em>
-registered in your index file, so <tt>git diff</tt> would show you what
+registered in your index file, so <code>git diff</code> would show you what
changes you made since the tip of the new branch.</p></div>
</li>
<li>
<p>
When a merge conflict happens during switching branches with
-the <tt>-m</tt> option, you would see something like this:
+the <code>-m</code> option, you would see something like this:
</p>
<div class="listingblock">
<div class="content">
-<pre><tt>$ git checkout -m mytopic
+<pre><code>$ git checkout -m mytopic
Auto-merging frotz
ERROR: Merge conflict in frotz
-fatal: merge program failed</tt></pre>
+fatal: merge program failed</code></pre>
</div></div>
-<div class="paragraph"><p>At this point, <tt>git diff</tt> shows the changes cleanly merged as in
+<div class="paragraph"><p>At this point, <code>git diff</code> shows the changes cleanly merged as in
the previous example, as well as the changes in the conflicted
files. Edit and resolve the conflict and mark it resolved with
-<tt>git add</tt> as usual:</p></div>
+<code>git add</code> as usual:</p></div>
<div class="listingblock">
<div class="content">
-<pre><tt>$ edit frotz
-$ git add frotz</tt></pre>
+<pre><code>$ edit frotz
+$ git add frotz</code></pre>
</div></div>
</li>
</ol></div>
</div>
+</div>
+<div class="sect1">
<h2 id="_git">GIT</h2>
<div class="sectionbody">
<div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
</div>
</div>
+</div>
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">