summaryrefslogtreecommitdiffstats
path: root/git-reset.html
diff options
context:
space:
mode:
authorJunio C Hamano <junio@hera.kernel.org>2005-12-27 00:17:23 -0800
committerJunio C Hamano <junio@hera.kernel.org>2005-12-27 00:17:23 -0800
commit1a4e841b439ba014b365999c3a6b9e2be3740bd8 (patch)
tree263dbc68b55d73929f82a6d1f7df677dfb06e294 /git-reset.html
downloadgit-htmldocs-1a4e841b439ba014b365999c3a6b9e2be3740bd8.tar.gz
Autogenerated HTML docs for 36de72aa9dc3b7daf8cf2770c840f39bb0d2ae70
Diffstat (limited to 'git-reset.html')
-rw-r--r--git-reset.html467
1 files changed, 467 insertions, 0 deletions
diff --git a/git-reset.html b/git-reset.html
new file mode 100644
index 000000000..7cacfd299
--- /dev/null
+++ b/git-reset.html
@@ -0,0 +1,467 @@
+<!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 7.0.1" />
+<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; }
+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 {
+ border-bottom: 2px solid silver;
+}
+h2 {
+ border-bottom: 2px solid silver;
+ padding-top: 0.5em;
+}
+
+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.2em;
+}
+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 > div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock > div.content {
+ padding-left: 2.0em;
+}
+div.quoteblock .attribution {
+ text-align: right;
+}
+
+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;
+}
+ol.olist2 {
+ list-style-type: lower-alpha;
+}
+
+div.tableblock > table {
+ border-color: #527bbd;
+ border-width: 3px;
+}
+thead {
+ font-family: sans-serif;
+ font-weight: bold;
+}
+tfoot {
+ font-weight: bold;
+}
+
+div.hlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+td.hlist1 {
+ vertical-align: top;
+ font-style: italic;
+ padding-right: 0.8em;
+}
+td.hlist2 {
+ vertical-align: top;
+}
+
+@media print {
+ div#footer-badges { display: none; }
+}
+include::./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;
+}
+</style>
+<title>git-reset(1)</title>
+</head>
+<body>
+<div id="header">
+<h1>
+git-reset(1) Manual Page
+</h1>
+<h2>NAME</h2>
+<div class="sectionbody">
+<p>git-reset -
+ Reset current HEAD to the specified state.
+</p>
+</div>
+</div>
+<h2>SYNOPSIS</h2>
+<div class="sectionbody">
+<p><em>git-reset</em> [--mixed | --soft | --hard] [&lt;commit-ish&gt;]</p>
+</div>
+<h2>DESCRIPTION</h2>
+<div class="sectionbody">
+<p>Sets the current head to the specified commit and optionally resets the
+index and working tree to match.</p>
+<p>This command is useful if you notice some small error in a recent
+commit (or set of commits) and want to redo that part without showing
+the undo in the history.</p>
+<p>If you want to undo a commit other than the latest on a branch,
+<a href="git-revert.html">git-revert(1)</a> is your friend.</p>
+</div>
+<h2>OPTIONS</h2>
+<div class="sectionbody">
+<dl>
+<dt>
+--mixed
+</dt>
+<dd>
+<p>
+ Resets the index but not the working tree (ie, the changed files
+ are preserved but not marked for commit) and reports what has not
+ been updated. This is the default action.
+</p>
+</dd>
+<dt>
+--soft
+</dt>
+<dd>
+<p>
+ Does not touch the index file nor the working tree at all, but
+ requires them to be in a good order. This leaves all your changed
+ files "Updated but not checked in", as <a href="git-status.html">git-status(1)</a> would
+ put it.
+</p>
+</dd>
+<dt>
+--hard
+</dt>
+<dd>
+<p>
+ Matches the working tree and index to that of the tree being
+ switched to. Any changes to tracked files in the working tree
+ since &lt;commit-ish&gt; are lost.
+</p>
+</dd>
+<dt>
+&lt;commit-ish&gt;
+</dt>
+<dd>
+<p>
+ Commit to make the current HEAD.
+</p>
+</dd>
+</dl>
+<h3>Examples</h3>
+<dl>
+<dt>
+Undo a commit and redo
+</dt>
+<dd>
+<div class="listingblock">
+<div class="content">
+<pre><tt>$ git commit ...
+$ git reset --soft HEAD^ <b>(1)</b>
+$ edit <b>(2)</b>
+$ git commit -a -c ORIG_HEAD <b>(3)</b>
+
+<b>(1)</b> This is most often done when you remembered what you
+just committed is incomplete, or you misspelled your commit
+message, or both. Leaves working tree as it was before "reset".
+<b>(2)</b> make corrections to working tree files.
+<b>(3)</b> "reset" copies the old head to .git/ORIG_HEAD; redo the
+commit by starting with its log message. If you do not need to
+edit the message further, you can give -C option instead.</tt></pre>
+</div></div>
+</dd>
+<dt>
+Undo commits permanently
+</dt>
+<dd>
+<div class="listingblock">
+<div class="content">
+<pre><tt>$ git commit ...
+$ git reset --hard HEAD~3 <b>(1)</b>
+
+<b>(1)</b> The last three commits (HEAD, HEAD^, and HEAD~2) were bad
+and you do not want to ever see them again. Do *not* do this if
+you have already given these commits to somebody else.</tt></pre>
+</div></div>
+</dd>
+<dt>
+Undo a commit, making it a topic branch
+</dt>
+<dd>
+<div class="listingblock">
+<div class="content">
+<pre><tt>$ git branch topic/wip <b>(1)</b>
+$ git reset --hard HEAD~3 <b>(2)</b>
+$ git checkout topic/wip <b>(3)</b>
+
+<b>(1)</b> You have made some commits, but realize they were premature
+to be in the "master" branch. You want to continue polishing
+them in a topic branch, so create "topic/wip" branch off of the
+current HEAD.
+<b>(2)</b> Rewind the master branch to get rid of those three commits.
+<b>(3)</b> Switch to "topic/wip" branch and keep working.</tt></pre>
+</div></div>
+</dd>
+<dt>
+Undo update-index
+</dt>
+<dd>
+<div class="listingblock">
+<div class="content">
+<pre><tt>$ edit <b>(1)</b>
+$ git-update-index frotz.c filfre.c
+$ mailx <b>(2)</b>
+$ git reset <b>(3)</b>
+$ git pull git://info.example.com/ nitfol <b>(4)</b>
+
+<b>(1)</b> you are happily working on something, and find the changes
+in these files are in good order. You do not want to see them
+when you run "git diff", because you plan to work on other files
+and changes with these files are distracting.
+<b>(2)</b> somebody asks you to pull, and the changes sounds worthy of merging.
+<b>(3)</b> however, you already dirtied the index (i.e. your index does
+not match the HEAD commit). But you know the pull you are going
+to make does not affect frotz.c nor filfre.c, so you revert the
+index changes for these two files. Your changes in working tree
+remain there.
+<b>(4)</b> then you can pull and merge, leaving frotz.c and filfre.c
+changes still in the working tree.</tt></pre>
+</div></div>
+</dd>
+<dt>
+Undo a merge or pull
+</dt>
+<dd>
+<div class="listingblock">
+<div class="content">
+<pre><tt>$ git pull <b>(1)</b>
+Trying really trivial in-index merge...
+fatal: Merge requires file-level merging
+Nope.
+...
+Auto-merging nitfol
+CONFLICT (content): Merge conflict in nitfol
+Automatic merge failed/prevented; fix up by hand
+$ git reset --hard <b>(2)</b>
+
+<b>(1)</b> try to update from the upstream resulted in a lot of
+conflicts; you were not ready to spend a lot of time merging
+right now, so you decide to do that later.
+<b>(2)</b> "pull" has not made merge commit, so "git reset --hard"
+which is a synonym for "git reset --hard HEAD" clears the mess
+from the index file and the working tree.
+
+$ git pull . topic/branch <b>(3)</b>
+Updating from 41223... to 13134...
+Fast forward
+$ git reset --hard ORIG_HEAD <b>(4)</b>
+
+<b>(3)</b> merge a topic branch into the current branch, which resulted
+in a fast forward.
+<b>(4)</b> but you decided that the topic branch is not ready for public
+consumption yet. "pull" or "merge" always leaves the original
+tip of the current branch in ORIG_HEAD, so resetting hard to it
+brings your index file and the working tree back to that state,
+and resets the tip of the branch to that commit.</tt></pre>
+</div></div>
+</dd>
+</dl>
+</div>
+<h2>Author</h2>
+<div class="sectionbody">
+<p>Written by Junio C Hamano &lt;junkio@cox.net&gt; and Linus Torvalds &lt;torvalds@osdl.org&gt;</p>
+</div>
+<h2>Documentation</h2>
+<div class="sectionbody">
+<p>Documentation by Junio C Hamano and the git-list &lt;git@vger.kernel.org&gt;.</p>
+</div>
+<h2>GIT</h2>
+<div class="sectionbody">
+<p>Part of the <a href="git.html">git(7)</a> suite</p>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 27-Dec-2005 00:16:36 PDT
+</div>
+</div>
+</body>
+</html>