1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
\r
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
\r
5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
\r
6 <meta name="generator" content="AsciiDoc 7.0.2" />
\r
7 <style type="text/css">
\r
9 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
\r
11 border: 1px solid red;
\r
16 margin: 1em 5% 1em 5%;
\r
20 a:visited { color: fuchsia; }
\r
34 h1, h2, h3, h4, h5, h6 {
\r
36 font-family: sans-serif;
\r
38 margin-bottom: 0.5em;
\r
43 border-bottom: 2px solid silver;
\r
46 border-bottom: 2px solid silver;
\r
56 border: 1px solid silver;
\r
61 margin-bottom: 0.5em;
\r
71 font-family: sans-serif;
\r
78 font-family: sans-serif;
\r
82 font-family: sans-serif;
\r
84 border-top: 2px solid silver;
\r
90 padding-bottom: 0.5em;
\r
94 padding-bottom: 0.5em;
\r
98 div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
\r
99 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
\r
100 div.admonitionblock {
\r
103 margin-bottom: 1.5em;
\r
105 div.admonitionblock {
\r
107 margin-bottom: 2.5em;
\r
110 div.content { /* Block element content. */
\r
114 /* Block element titles. */
\r
115 div.title, caption.title {
\r
116 font-family: sans-serif;
\r
120 margin-bottom: 0.5em;
\r
126 td div.title:first-child {
\r
129 div.content div.title:first-child {
\r
132 div.content + div.title {
\r
136 div.sidebarblock > div.content {
\r
137 background: #ffffee;
\r
138 border: 1px solid silver;
\r
142 div.listingblock > div.content {
\r
143 border: 1px solid silver;
\r
144 background: #f4f4f4;
\r
148 div.quoteblock > div.content {
\r
149 padding-left: 2.0em;
\r
151 div.quoteblock .attribution {
\r
155 div.admonitionblock .icon {
\r
156 vertical-align: top;
\r
159 text-decoration: underline;
\r
161 padding-right: 0.5em;
\r
163 div.admonitionblock td.content {
\r
164 padding-left: 0.5em;
\r
165 border-left: 2px solid silver;
\r
168 div.exampleblock > div.content {
\r
169 border-left: 2px solid silver;
\r
173 div.verseblock div.content {
\r
177 div.imageblock div.content { padding-left: 0; }
\r
178 div.imageblock img { border: 1px solid silver; }
\r
179 span.image img { border-style: none; }
\r
183 margin-bottom: 0.8em;
\r
188 font-style: italic;
\r
190 dd > *:first-child {
\r
195 list-style-position: outside;
\r
198 list-style-type: lower-alpha;
\r
201 div.tableblock > table {
\r
202 border-color: #527bbd;
\r
206 font-family: sans-serif;
\r
215 margin-bottom: 0.8em;
\r
218 vertical-align: top;
\r
219 font-style: italic;
\r
220 padding-right: 0.8em;
\r
223 vertical-align: top;
\r
227 div#footer-badges { display: none; }
\r
229 include::./stylesheets/xhtml11-manpage.css[]
\r
230 /* Workarounds for IE6's broken and incomplete CSS2. */
\r
232 div.sidebar-content {
\r
233 background: #ffffee;
\r
234 border: 1px solid silver;
\r
237 div.sidebar-title, div.image-title {
\r
238 font-family: sans-serif;
\r
241 margin-bottom: 0.5em;
\r
244 div.listingblock div.content {
\r
245 border: 1px solid silver;
\r
246 background: #f4f4f4;
\r
250 div.quoteblock-content {
\r
251 padding-left: 2.0em;
\r
254 div.exampleblock-content {
\r
255 border-left: 2px solid silver;
\r
256 padding-left: 0.5em;
\r
259 <title>git-reset(1)</title>
\r
264 git-reset(1) Manual Page
\r
267 <div class="sectionbody">
\r
269 Reset current HEAD to the specified state
\r
274 <div class="sectionbody">
\r
275 <p><em>git-reset</em> [--mixed | --soft | --hard] [<commit-ish>]</p>
\r
277 <h2>DESCRIPTION</h2>
\r
278 <div class="sectionbody">
\r
279 <p>Sets the current head to the specified commit and optionally resets the
\r
280 index and working tree to match.</p>
\r
281 <p>This command is useful if you notice some small error in a recent
\r
282 commit (or set of commits) and want to redo that part without showing
\r
283 the undo in the history.</p>
\r
284 <p>If you want to undo a commit other than the latest on a branch,
\r
285 <a href="git-revert.html">git-revert(1)</a> is your friend.</p>
\r
288 <div class="sectionbody">
\r
295 Resets the index but not the working tree (ie, the changed files
\r
296 are preserved but not marked for commit) and reports what has not
\r
297 been updated. This is the default action.
\r
305 Does not touch the index file nor the working tree at all, but
\r
306 requires them to be in a good order. This leaves all your changed
\r
307 files "Updated but not checked in", as <a href="git-status.html">git-status(1)</a> would
\r
316 Matches the working tree and index to that of the tree being
\r
317 switched to. Any changes to tracked files in the working tree
\r
318 since <commit-ish> are lost.
\r
326 Commit to make the current HEAD.
\r
333 Undo a commit and redo
\r
336 <div class="listingblock">
\r
337 <div class="content">
\r
338 <pre><tt>$ git commit ...
\r
339 $ git reset --soft HEAD^ <b>(1)</b>
\r
341 $ git commit -a -c ORIG_HEAD <b>(3)</b></tt></pre>
\r
346 This is most often done when you remembered what you
\r
347 just committed is incomplete, or you misspelled your commit
\r
348 message, or both. Leaves working tree as it was before "reset".
\r
353 make corrections to working tree files.
\r
358 "reset" copies the old head to .git/ORIG_HEAD; redo the
\r
359 commit by starting with its log message. If you do not need to
\r
360 edit the message further, you can give -C option instead.
\r
366 Undo commits permanently
\r
369 <div class="listingblock">
\r
370 <div class="content">
\r
371 <pre><tt>$ git commit ...
\r
372 $ git reset --hard HEAD~3 <b>(1)</b></tt></pre>
\r
377 The last three commits (HEAD, HEAD^, and HEAD~2) were bad
\r
378 and you do not want to ever see them again. Do <strong>not</strong> do this if
\r
379 you have already given these commits to somebody else.
\r
385 Undo a commit, making it a topic branch
\r
388 <div class="listingblock">
\r
389 <div class="content">
\r
390 <pre><tt>$ git branch topic/wip <b>(1)</b>
\r
391 $ git reset --hard HEAD~3 <b>(2)</b>
\r
392 $ git checkout topic/wip <b>(3)</b></tt></pre>
\r
397 You have made some commits, but realize they were premature
\r
398 to be in the "master" branch. You want to continue polishing
\r
399 them in a topic branch, so create "topic/wip" branch off of the
\r
405 Rewind the master branch to get rid of those three commits.
\r
410 Switch to "topic/wip" branch and keep working.
\r
419 <div class="listingblock">
\r
420 <div class="content">
\r
421 <pre><tt>$ edit <b>(1)</b>
\r
422 $ git-update-index frotz.c filfre.c
\r
424 $ git reset <b>(3)</b>
\r
425 $ git pull git://info.example.com/ nitfol <b>(4)</b></tt></pre>
\r
430 you are happily working on something, and find the changes
\r
431 in these files are in good order. You do not want to see them
\r
432 when you run "git diff", because you plan to work on other files
\r
433 and changes with these files are distracting.
\r
438 somebody asks you to pull, and the changes sounds worthy of merging.
\r
443 however, you already dirtied the index (i.e. your index does
\r
444 not match the HEAD commit). But you know the pull you are going
\r
445 to make does not affect frotz.c nor filfre.c, so you revert the
\r
446 index changes for these two files. Your changes in working tree
\r
452 then you can pull and merge, leaving frotz.c and filfre.c
\r
453 changes still in the working tree.
\r
459 Undo a merge or pull
\r
462 <div class="listingblock">
\r
463 <div class="content">
\r
464 <pre><tt>$ git pull <b>(1)</b>
\r
465 Trying really trivial in-index merge...
\r
466 fatal: Merge requires file-level merging
\r
469 Auto-merging nitfol
\r
470 CONFLICT (content): Merge conflict in nitfol
\r
471 Automatic merge failed/prevented; fix up by hand
\r
472 $ git reset --hard <b>(2)</b>
\r
473 $ git pull . topic/branch <b>(3)</b>
\r
474 Updating from 41223... to 13134...
\r
476 $ git reset --hard ORIG_HEAD <b>(4)</b></tt></pre>
\r
481 try to update from the upstream resulted in a lot of
\r
482 conflicts; you were not ready to spend a lot of time merging
\r
483 right now, so you decide to do that later.
\r
488 "pull" has not made merge commit, so "git reset --hard"
\r
489 which is a synonym for "git reset --hard HEAD" clears the mess
\r
490 from the index file and the working tree.
\r
495 merge a topic branch into the current branch, which resulted
\r
501 but you decided that the topic branch is not ready for public
\r
502 consumption yet. "pull" or "merge" always leaves the original
\r
503 tip of the current branch in ORIG_HEAD, so resetting hard to it
\r
504 brings your index file and the working tree back to that state,
\r
505 and resets the tip of the branch to that commit.
\r
511 Interrupted workflow
\r
514 <p>Suppose you are interrupted by an urgent fix request while you
\r
515 are in the middle of a large change. The files in your
\r
516 working tree are not in any shape to be committed yet, but you
\r
517 need to get to the other branch for a quick bugfix.</p>
\r
518 <div class="listingblock">
\r
519 <div class="content">
\r
520 <pre><tt>$ git checkout feature ;# you were working in "feature" branch and
\r
521 $ work work work ;# got interrupted
\r
522 $ git commit -a -m 'snapshot WIP' <b>(1)</b>
\r
523 $ git checkout master
\r
525 $ git commit ;# commit with real log
\r
526 $ git checkout feature
\r
527 $ git reset --soft HEAD^ ;# go back to WIP state <b>(2)</b>
\r
528 $ git reset <b>(3)</b></tt></pre>
\r
533 This commit will get blown away so a throw-away log message is OK.
\r
538 This removes the <em>WIP</em> commit from the commit history, and sets
\r
539 your working tree to the state just before you made that snapshot.
\r
544 At this point the index file still has all the WIP changes you
\r
545 committed as <em>snapshot WIP</em>. This updates the index to show your
\r
546 WIP files as uncommitted.
\r
554 <div class="sectionbody">
\r
555 <p>Written by Junio C Hamano <junkio@cox.net> and Linus Torvalds <torvalds@osdl.org></p>
\r
557 <h2>Documentation</h2>
\r
558 <div class="sectionbody">
\r
559 <p>Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.</p>
\r
562 <div class="sectionbody">
\r
563 <p>Part of the <a href="git.html">git(7)</a> suite</p>
\r
566 <div id="footer-text">
\r
567 Last updated 29-Apr-2006 07:01:34 UTC
\r