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 (i.e., 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
332 <div class="sectionbody">
\r
335 Undo a commit and redo
\r
338 <div class="listingblock">
\r
339 <div class="content">
\r
340 <pre><tt>$ git commit ...
\r
341 $ git reset --soft HEAD^ <b>(1)</b>
\r
343 $ git commit -a -c ORIG_HEAD <b>(3)</b></tt></pre>
\r
348 This is most often done when you remembered what you
\r
349 just committed is incomplete, or you misspelled your commit
\r
350 message, or both. Leaves working tree as it was before "reset".
\r
355 make corrections to working tree files.
\r
360 "reset" copies the old head to .git/ORIG_HEAD; redo the
\r
361 commit by starting with its log message. If you do not need to
\r
362 edit the message further, you can give -C option instead.
\r
368 Undo commits permanently
\r
371 <div class="listingblock">
\r
372 <div class="content">
\r
373 <pre><tt>$ git commit ...
\r
374 $ git reset --hard HEAD~3 <b>(1)</b></tt></pre>
\r
379 The last three commits (HEAD, HEAD^, and HEAD~2) were bad
\r
380 and you do not want to ever see them again. Do <strong>not</strong> do this if
\r
381 you have already given these commits to somebody else.
\r
387 Undo a commit, making it a topic branch
\r
390 <div class="listingblock">
\r
391 <div class="content">
\r
392 <pre><tt>$ git branch topic/wip <b>(1)</b>
\r
393 $ git reset --hard HEAD~3 <b>(2)</b>
\r
394 $ git checkout topic/wip <b>(3)</b></tt></pre>
\r
399 You have made some commits, but realize they were premature
\r
400 to be in the "master" branch. You want to continue polishing
\r
401 them in a topic branch, so create "topic/wip" branch off of the
\r
407 Rewind the master branch to get rid of those three commits.
\r
412 Switch to "topic/wip" branch and keep working.
\r
421 <div class="listingblock">
\r
422 <div class="content">
\r
423 <pre><tt>$ edit <b>(1)</b>
\r
424 $ git-update-index frotz.c filfre.c
\r
426 $ git reset <b>(3)</b>
\r
427 $ git pull git://info.example.com/ nitfol <b>(4)</b></tt></pre>
\r
432 you are happily working on something, and find the changes
\r
433 in these files are in good order. You do not want to see them
\r
434 when you run "git diff", because you plan to work on other files
\r
435 and changes with these files are distracting.
\r
440 somebody asks you to pull, and the changes sounds worthy of merging.
\r
445 however, you already dirtied the index (i.e. your index does
\r
446 not match the HEAD commit). But you know the pull you are going
\r
447 to make does not affect frotz.c nor filfre.c, so you revert the
\r
448 index changes for these two files. Your changes in working tree
\r
454 then you can pull and merge, leaving frotz.c and filfre.c
\r
455 changes still in the working tree.
\r
461 Undo a merge or pull
\r
464 <div class="listingblock">
\r
465 <div class="content">
\r
466 <pre><tt>$ git pull <b>(1)</b>
\r
467 Trying really trivial in-index merge...
\r
468 fatal: Merge requires file-level merging
\r
471 Auto-merging nitfol
\r
472 CONFLICT (content): Merge conflict in nitfol
\r
473 Automatic merge failed/prevented; fix up by hand
\r
474 $ git reset --hard <b>(2)</b>
\r
475 $ git pull . topic/branch <b>(3)</b>
\r
476 Updating from 41223... to 13134...
\r
478 $ git reset --hard ORIG_HEAD <b>(4)</b></tt></pre>
\r
483 try to update from the upstream resulted in a lot of
\r
484 conflicts; you were not ready to spend a lot of time merging
\r
485 right now, so you decide to do that later.
\r
490 "pull" has not made merge commit, so "git reset --hard"
\r
491 which is a synonym for "git reset --hard HEAD" clears the mess
\r
492 from the index file and the working tree.
\r
497 merge a topic branch into the current branch, which resulted
\r
503 but you decided that the topic branch is not ready for public
\r
504 consumption yet. "pull" or "merge" always leaves the original
\r
505 tip of the current branch in ORIG_HEAD, so resetting hard to it
\r
506 brings your index file and the working tree back to that state,
\r
507 and resets the tip of the branch to that commit.
\r
513 Interrupted workflow
\r
516 <p>Suppose you are interrupted by an urgent fix request while you
\r
517 are in the middle of a large change. The files in your
\r
518 working tree are not in any shape to be committed yet, but you
\r
519 need to get to the other branch for a quick bugfix.</p>
\r
520 <div class="listingblock">
\r
521 <div class="content">
\r
522 <pre><tt>$ git checkout feature ;# you were working in "feature" branch and
\r
523 $ work work work ;# got interrupted
\r
524 $ git commit -a -m 'snapshot WIP' <b>(1)</b>
\r
525 $ git checkout master
\r
527 $ git commit ;# commit with real log
\r
528 $ git checkout feature
\r
529 $ git reset --soft HEAD^ ;# go back to WIP state <b>(2)</b>
\r
530 $ git reset <b>(3)</b></tt></pre>
\r
535 This commit will get blown away so a throw-away log message is OK.
\r
540 This removes the <em>WIP</em> commit from the commit history, and sets
\r
541 your working tree to the state just before you made that snapshot.
\r
546 At this point the index file still has all the WIP changes you
\r
547 committed as <em>snapshot WIP</em>. This updates the index to show your
\r
548 WIP files as uncommitted.
\r
556 <div class="sectionbody">
\r
557 <p>Written by Junio C Hamano <junkio@cox.net> and Linus Torvalds <torvalds@osdl.org></p>
\r
559 <h2>Documentation</h2>
\r
560 <div class="sectionbody">
\r
561 <p>Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.</p>
\r
564 <div class="sectionbody">
\r
565 <p>Part of the <a href="git.html">git(7)</a> suite</p>
\r
568 <div id="footer-text">
\r
569 Last updated 04-Jun-2006 07:24:30 UTC
\r