[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@18.216.57.57: ~ $
<!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="application/xhtml+xml; charset=UTF-8" />
<meta name="generator" content="AsciiDoc 8.6.8" />
<title>git-rerere(1)</title>
<style type="text/css">
/* 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 {
  margin: 1em 5% 1em 5%;
}

a {
  color: blue;
  text-decoration: underline;
}
a:visited {
  color: fuchsia;
}

em {
  font-style: italic;
  color: navy;
}

strong {
  font-weight: bold;
  color: #083194;
}

h1, h2, h3, h4, h5, h6 {
  color: #527bbd;
  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;
}
h5 {
  font-size: 1.0em;
}

div.sectionbody {
  margin-left: 0;
}

hr {
  border: 1px solid silver;
}

p {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

ul, ol, li > p {
  margin-top: 0;
}
ul > li     { color: #aaa; }
ul > li > * { color: black; }

.monospaced, code, pre {
  font-family: "Courier New", Courier, monospace;
  font-size: inherit;
  color: navy;
  padding: 0;
  margin: 0;
}


#author {
  color: #527bbd;
  font-weight: bold;
  font-size: 1.1em;
}
#email {
}
#revnumber, #revdate, #revremark {
}

#footer {
  font-size: small;
  border-top: 2px solid silver;
  padding-top: 0.5em;
  margin-top: 4.0em;
}
#footer-text {
  float: left;
  padding-bottom: 0.5em;
}
#footer-badges {
  float: right;
  padding-bottom: 0.5em;
}

#preamble {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}
div.imageblock, div.exampleblock, div.verseblock,
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
div.admonitionblock {
  margin-top: 1.0em;
  margin-bottom: 1.5em;
}
div.admonitionblock {
  margin-top: 2.0em;
  margin-bottom: 2.0em;
  margin-right: 10%;
  color: #606060;
}

div.content { /* Block element content. */
  padding: 0;
}

/* Block element titles. */
div.title, caption.title {
  color: #527bbd;
  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 #dddddd;
  border-left: 4px solid #f0f0f0;
  padding: 0.5em;
}

div.listingblock > div.content {
  border: 1px solid #dddddd;
  border-left: 5px solid #f0f0f0;
  background: #f8f8f8;
  padding: 0.5em;
}

div.quoteblock, div.verseblock {
  padding-left: 1.0em;
  margin-left: 1.0em;
  margin-right: 10%;
  border-left: 5px solid #f0f0f0;
  color: #888;
}

div.quoteblock > div.attribution {
  padding-top: 0.5em;
  text-align: right;
}

div.verseblock > pre.content {
  font-family: inherit;
  font-size: inherit;
}
div.verseblock > div.attribution {
  padding-top: 0.75em;
  text-align: left;
}
/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
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: 3px solid #dddddd;
}

div.exampleblock > div.content {
  border-left: 3px solid #dddddd;
  padding-left: 0.5em;
}

div.imageblock div.content { padding-left: 0; }
span.image img { border-style: none; }
a.image:visited { color: white; }

dl {
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}
dt {
  margin-top: 0.5em;
  margin-bottom: 0;
  font-style: normal;
  color: navy;
}
dd > *:first-child {
  margin-top: 0.1em;
}

ul, ol {
    list-style-position: outside;
}
ol.arabic {
  list-style-type: decimal;
}
ol.loweralpha {
  list-style-type: lower-alpha;
}
ol.upperalpha {
  list-style-type: upper-alpha;
}
ol.lowerroman {
  list-style-type: lower-roman;
}
ol.upperroman {
  list-style-type: upper-roman;
}

div.compact ul, div.compact ol,
div.compact p, div.compact p,
div.compact div, div.compact div {
  margin-top: 0.1em;
  margin-bottom: 0.1em;
}

tfoot {
  font-weight: bold;
}
td > div.verse {
  white-space: pre;
}

div.hdlist {
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}
div.hdlist tr {
  padding-bottom: 15px;
}
dt.hdlist1.strong, td.hdlist1.strong {
  font-weight: bold;
}
td.hdlist1 {
  vertical-align: top;
  font-style: normal;
  padding-right: 0.8em;
  color: navy;
}
td.hdlist2 {
  vertical-align: top;
}
div.hdlist.compact tr {
  margin: 0;
  padding-bottom: 0;
}

.comment {
  background: yellow;
}

.footnote, .footnoteref {
  font-size: 0.8em;
}

span.footnote, span.footnoteref {
  vertical-align: super;
}

#footnotes {
  margin: 20px 0 20px 0;
  padding: 7px 0 0 0;
}

#footnotes div.footnote {
  margin: 0 0 5px 0;
}

#footnotes hr {
  border: none;
  border-top: 1px solid silver;
  height: 1px;
  text-align: left;
  margin-left: 0;
  width: 20%;
  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 {
  #footer-badges { display: none; }
}

#toc {
  margin-bottom: 2.5em;
}

#toctitle {
  color: #527bbd;
  font-size: 1.1em;
  font-weight: bold;
  margin-top: 1.0em;
  margin-bottom: 0.1em;
}

div.toclevel0, 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;
}

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;
}
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.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;
}


/*
 * html5 specific
 *
 * */

table.tableblock {
  margin-top: 1.0em;
  margin-bottom: 1.5em;
}
thead, p.tableblock.header {
  font-weight: bold;
  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;
}

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;
}

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;
}

th.tableblock.valign-top, td.tableblock.valign-top {
  vertical-align: top;
}
th.tableblock.valign-middle, td.tableblock.valign-middle {
  vertical-align: middle;
}
th.tableblock.valign-bottom, td.tableblock.valign-bottom {
  vertical-align: bottom;
}


/*
 * 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;
}

@media print {
  body.manpage div#toc { display: none; }
}


</style>
<script type="text/javascript">
/*<![CDATA[*/
var asciidoc = {  // Namespace.

/////////////////////////////////////////////////////////////////////
// Table Of Contents generator
/////////////////////////////////////////////////////////////////////

/* Author: Mihai Bazon, September 2002
 * http://students.infoiasi.ro/~mishoo
 *
 * Table Of Content generator
 * Version: 0.4
 *
 * Feel free to use this script under the terms of the GNU General Public
 * License, as long as you do not remove or alter this notice.
 */

 /* modified by Troy D. Hanson, September 2006. License: GPL */
 /* modified by Stuart Rackham, 2006, 2009. License: GPL */

// toclevels = 1..4.
toc: function (toclevels) {

  function getText(el) {
    var text = "";
    for (var i = el.firstChild; i != null; i = i.nextSibling) {
      if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
        text += i.data;
      else if (i.firstChild != null)
        text += getText(i);
    }
    return text;
  }

  function TocEntry(el, text, toclevel) {
    this.element = el;
    this.text = text;
    this.toclevel = toclevel;
  }

  function tocEntries(el, toclevels) {
    var result = new Array;
    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).
    var iterate = function (el) {
      for (var i = el.firstChild; i != null; i = i.nextSibling) {
        if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
          var mo = re.exec(i.tagName);
          if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
            result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
          }
          iterate(i);
        }
      }
    }
    iterate(el);
    return result;
  }

  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];
    if (entry.element.id == "")
      entry.element.id = "_toc_" + i;
    var a = document.createElement("a");
    a.href = "#" + entry.element.id;
    a.appendChild(document.createTextNode(entry.text));
    var div = document.createElement("div");
    div.appendChild(a);
    div.className = "toclevel" + entry.toclevel;
    toc.appendChild(div);
  }
  if (entries.length == 0)
    toc.parentNode.removeChild(toc);
},


/////////////////////////////////////////////////////////////////////
// Footnotes generator
/////////////////////////////////////////////////////////////////////

/* Based on footnote generation code from:
 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
 */

footnotes: function () {
  // 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++;
      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>";
      var id =spans[i].getAttribute("id");
      if (id != null) refs["#"+id] = n;
    }
  }
  if (n == 0)
    noteholder.parentNode.removeChild(noteholder);
  else {
    // Process footnoterefs.
    for (i=0; i<spans.length; i++) {
      if (spans[i].className == "footnoteref") {
        var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
        href = href.match(/#.*/)[0];  // Because IE return full URL.
        n = refs[href];
        spans[i].innerHTML =
          "[<a href='#_footnote_" + n +
          "' title='View footnote' class='footnote'>" + n + "</a>]";
      }
    }
  }
},

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 class="manpage">
<div id="header">
<h1>
git-rerere(1) Manual Page
</h1>
<h2>NAME</h2>
<div class="sectionbody">
<p>git-rerere -
   Reuse recorded resolution of conflicted merges
</p>
</div>
</div>
<div id="content">
<div class="sect1">
<h2 id="_synopsis">SYNOPSIS</h2>
<div class="sectionbody">
<div class="verseblock">
<pre class="content"><em>git rerere</em> [<em>clear</em>|<em>forget</em> &lt;pathspec&gt;|<em>diff</em>|<em>remaining</em>|<em>status</em>|<em>gc</em>]</pre>
<div class="attribution">
</div></div>
</div>
</div>
<div class="sect1">
<h2 id="_description">DESCRIPTION</h2>
<div class="sectionbody">
<div class="paragraph"><p>In a workflow employing relatively long lived topic branches,
the developer sometimes needs to resolve the same conflicts over
and over again until the topic branches are done (either merged
to the "release" branch, or sent out and accepted upstream).</p></div>
<div class="paragraph"><p>This command assists the developer in this process by recording
conflicted automerge results and corresponding hand resolve results
on the initial manual merge, and applying previously recorded
hand resolutions to their corresponding automerge results.</p></div>
<div class="admonitionblock">
<table><tr>
<td class="icon">
<div class="title">Note</div>
</td>
<td class="content">You need to set the configuration variable rerere.enabled in order to
enable this command.</td>
</tr></table>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_commands">COMMANDS</h2>
<div class="sectionbody">
<div class="paragraph"><p>Normally, <em>git rerere</em> is run without arguments or user-intervention.
However, it has several commands that allow it to interact with
its working state.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
<em>clear</em>
</dt>
<dd>
<p>
Reset the metadata used by rerere if a merge resolution is to be
aborted.  Calling <em>git am [--skip|--abort]</em> or <em>git rebase [--skip|--abort]</em>
will automatically invoke this command.
</p>
</dd>
<dt class="hdlist1">
<em>forget</em> &lt;pathspec&gt;
</dt>
<dd>
<p>
Reset the conflict resolutions which rerere has recorded for the current
conflict in &lt;pathspec&gt;.
</p>
</dd>
<dt class="hdlist1">
<em>diff</em>
</dt>
<dd>
<p>
Display diffs for the current state of the resolution.  It is
useful for tracking what has changed while the user is resolving
conflicts.  Additional arguments are passed directly to the system
<em>diff</em> command installed in PATH.
</p>
</dd>
<dt class="hdlist1">
<em>status</em>
</dt>
<dd>
<p>
Print paths with conflicts whose merge resolution rerere will record.
</p>
</dd>
<dt class="hdlist1">
<em>remaining</em>
</dt>
<dd>
<p>
Print paths with conflicts that have not been autoresolved by rerere.
This includes paths whose resolutions cannot be tracked by rerere,
such as conflicting submodules.
</p>
</dd>
<dt class="hdlist1">
<em>gc</em>
</dt>
<dd>
<p>
Prune records of conflicted merges that
occurred a long time ago.  By default, unresolved conflicts older
than 15 days and resolved conflicts older than 60
days are pruned.  These defaults are controlled via the
<code>gc.rerereunresolved</code> and <code>gc.rerereresolved</code> configuration
variables respectively.
</p>
</dd>
</dl></div>
</div>
</div>
<div class="sect1">
<h2 id="_discussion">DISCUSSION</h2>
<div class="sectionbody">
<div class="paragraph"><p>When your topic branch modifies an overlapping area that your
master branch (or upstream) touched since your topic branch
forked from it, you may want to test it with the latest master,
even before your topic branch is ready to be pushed upstream:</p></div>
<div class="listingblock">
<div class="content">
<pre><code>              o---*---o topic
             /
    o---o---o---*---o---o master</code></pre>
</div></div>
<div class="paragraph"><p>For such a test, you need to merge master and topic somehow.
One way to do it is to pull master into the topic branch:</p></div>
<div class="listingblock">
<div class="content">
<pre><code>        $ git checkout topic
        $ git merge master

              o---*---o---+ topic
             /           /
    o---o---o---*---o---o master</code></pre>
</div></div>
<div class="paragraph"><p>The commits marked with <code>*</code> touch the same area in the same
file; you need to resolve the conflicts when creating the commit
marked with <code>+</code>.  Then you can test the result to make sure your
work-in-progress still works with what is in the latest master.</p></div>
<div class="paragraph"><p>After this test merge, there are two ways to continue your work
on the topic.  The easiest is to build on top of the test merge
commit <code>+</code>, and when your work in the topic branch is finally
ready, pull the topic branch into master, and/or ask the
upstream to pull from you.  By that time, however, the master or
the upstream might have been advanced since the test merge <code>+</code>,
in which case the final commit graph would look like this:</p></div>
<div class="listingblock">
<div class="content">
<pre><code>        $ git checkout topic
        $ git merge master
        $ ... work on both topic and master branches
        $ git checkout master
        $ git merge topic

              o---*---o---+---o---o topic
             /           /         \
    o---o---o---*---o---o---o---o---+ master</code></pre>
</div></div>
<div class="paragraph"><p>When your topic branch is long-lived, however, your topic branch
would end up having many such "Merge from master" commits on it,
which would unnecessarily clutter the development history.
Readers of the Linux kernel mailing list may remember that Linus
complained about such too frequent test merges when a subsystem
maintainer asked to pull from a branch full of "useless merges".</p></div>
<div class="paragraph"><p>As an alternative, to keep the topic branch clean of test
merges, you could blow away the test merge, and keep building on
top of the tip before the test merge:</p></div>
<div class="listingblock">
<div class="content">
<pre><code>        $ git checkout topic
        $ git merge master
        $ git reset --hard HEAD^ ;# rewind the test merge
        $ ... work on both topic and master branches
        $ git checkout master
        $ git merge topic

              o---*---o-------o---o topic
             /                     \
    o---o---o---*---o---o---o---o---+ master</code></pre>
</div></div>
<div class="paragraph"><p>This would leave only one merge commit when your topic branch is
finally ready and merged into the master branch.  This merge
would require you to resolve the conflict, introduced by the
commits marked with <code>*</code>.  However, this conflict is often the
same conflict you resolved when you created the test merge you
blew away.  <em>git rerere</em> helps you resolve this final
conflicted merge using the information from your earlier hand
resolve.</p></div>
<div class="paragraph"><p>Running the <em>git rerere</em> command immediately after a conflicted
automerge records the conflicted working tree files, with the
usual conflict markers <code>&lt;&lt;&lt;&lt;&lt;&lt;&lt;</code>, <code>=======</code>, and <code>&gt;&gt;&gt;&gt;&gt;&gt;&gt;</code> in
them.  Later, after you are done resolving the conflicts,
running <em>git rerere</em> again will record the resolved state of these
files.  Suppose you did this when you created the test merge of
master into the topic branch.</p></div>
<div class="paragraph"><p>Next time, after seeing the same conflicted automerge,
running <em>git rerere</em> will perform a three-way merge between the
earlier conflicted automerge, the earlier manual resolution, and
the current conflicted automerge.
If this three-way merge resolves cleanly, the result is written
out to your working tree file, so you do not have to manually
resolve it.  Note that <em>git rerere</em> leaves the index file alone,
so you still need to do the final sanity checks with <code>git diff</code>
(or <code>git diff -c</code>) and <em>git add</em> when you are satisfied.</p></div>
<div class="paragraph"><p>As a convenience measure, <em>git merge</em> automatically invokes
<em>git rerere</em> upon exiting with a failed automerge and <em>git rerere</em>
records the hand resolve when it is a new conflict, or reuses the earlier hand
resolve when it is not.  <em>git commit</em> also invokes <em>git rerere</em>
when committing a merge result.  What this means is that you do
not have to do anything special yourself (besides enabling
the rerere.enabled config variable).</p></div>
<div class="paragraph"><p>In our example, when you do the test merge, the manual
resolution is recorded, and it will be reused when you do the
actual merge later with the updated master and topic branch, as long
as the recorded resolution is still applicable.</p></div>
<div class="paragraph"><p>The information <em>git rerere</em> records is also used when running
<em>git rebase</em>.  After blowing away the test merge and continuing
development on the topic branch:</p></div>
<div class="listingblock">
<div class="content">
<pre><code>              o---*---o-------o---o topic
             /
    o---o---o---*---o---o---o---o   master

        $ git rebase master topic

                                  o---*---o-------o---o topic
                                 /
    o---o---o---*---o---o---o---o   master</code></pre>
</div></div>
<div class="paragraph"><p>you could run <code>git rebase master topic</code>, to bring yourself
up-to-date before your topic is ready to be sent upstream.
This would result in falling back to a three-way merge, and it
would conflict the same way as the test merge you resolved earlier.
<em>git rerere</em> will be run by <em>git rebase</em> to help you resolve this
conflict.</p></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">
Last updated 2013-06-10 20:01:55 UTC
</div>
</div>
</body>
</html>

Filemanager

Name Type Size Permission Actions
RelNotes Folder 0755
contrib Folder 0755
howto Folder 0755
technical Folder 0755
COPYING File 18.33 KB 0644
README File 2.56 KB 0644
blame-options.txt File 3.95 KB 0644
cmds-ancillaryinterrogators.txt File 1.18 KB 0644
cmds-ancillarymanipulators.txt File 1005 B 0644
cmds-foreignscminterface.txt File 760 B 0644
cmds-mainporcelain.txt File 2.5 KB 0644
cmds-plumbinginterrogators.txt File 1.34 KB 0644
cmds-plumbingmanipulators.txt File 1.21 KB 0644
cmds-purehelpers.txt File 1.11 KB 0644
cmds-synchelpers.txt File 543 B 0644
cmds-synchingrepositories.txt File 397 B 0644
config.txt File 90.14 KB 0644
date-formats.txt File 848 B 0644
diff-config.txt File 6.87 KB 0644
diff-format.txt File 5.44 KB 0644
diff-generate-patch.txt File 6.44 KB 0644
diff-options.txt File 18.12 KB 0644
docbook-xsl.css File 4.45 KB 0644
everyday.html File 35.06 KB 0644
everyday.txt File 12.71 KB 0644
fetch-options.txt File 4.22 KB 0644
git-add.html File 35.63 KB 0644
git-add.txt File 13.96 KB 0644
git-am.html File 25.86 KB 0644
git-am.txt File 6.02 KB 0644
git-annotate.html File 23.32 KB 0644
git-annotate.txt File 752 B 0644
git-apply.html File 30.82 KB 0644
git-apply.txt File 10.07 KB 0644
git-archive.html File 25.88 KB 0644
git-archive.txt File 6.05 KB 0644
git-bisect-lk2009.html File 78.86 KB 0644
git-bisect-lk2009.txt File 48.08 KB 0644
git-bisect.html File 33.08 KB 0644
git-bisect.txt File 12.38 KB 0644
git-blame.html File 37.08 KB 0644
git-blame.txt File 7.63 KB 0644
git-branch.html File 31.29 KB 0644
git-branch.txt File 9.87 KB 0644
git-bundle.html File 25.72 KB 0644
git-bundle.txt File 6.89 KB 0644
git-cat-file.html File 21.04 KB 0644
git-cat-file.txt File 2.9 KB 0644
git-check-attr.html File 21.17 KB 0644
git-check-attr.txt File 2.72 KB 0644
git-check-ignore.html File 20.25 KB 0644
git-check-ignore.txt File 2.35 KB 0644
git-check-ref-format.html File 22.43 KB 0644
git-check-ref-format.txt File 4.08 KB 0644
git-checkout-index.html File 24.34 KB 0644
git-checkout-index.txt File 5.31 KB 0644
git-checkout.html File 38.47 KB 0644
git-checkout.txt File 15.61 KB 0644
git-cherry-pick.html File 28.28 KB 0644
git-cherry-pick.txt File 7.73 KB 0644
git-cherry.html File 19.15 KB 0644
git-cherry.txt File 1.71 KB 0644
git-citool.html File 17.13 KB 0644
git-citool.txt File 543 B 0644
git-clean.html File 19.45 KB 0644
git-clean.txt File 1.92 KB 0644
git-clone.html File 34.75 KB 0644
git-clone.txt File 9.84 KB 0644
git-column.html File 18.47 KB 0644
git-column.txt File 1.14 KB 0644
git-commit-tree.html File 25.04 KB 0644
git-commit-tree.txt File 2.79 KB 0644
git-commit.html File 43.18 KB 0644
git-commit.txt File 14.96 KB 0644
git-config.html File 181.42 KB 0644
git-config.txt File 11.52 KB 0644
git-count-objects.html File 18.11 KB 0644
git-count-objects.txt File 1.06 KB 0644
git-credential-cache--daemon.html File 17.4 KB 0644
git-credential-cache--daemon.txt File 684 B 0644
git-credential-cache.html File 19.26 KB 0644
git-credential-cache.txt File 2.13 KB 0644
git-credential-store.html File 19.42 KB 0644
git-credential-store.txt File 2.11 KB 0644
git-credential.html File 23.82 KB 0644
git-credential.txt File 5.72 KB 0644
git-cvsexportcommit.html File 21.34 KB 0644
git-cvsexportcommit.txt File 3.13 KB 0644
git-cvsimport.html File 27.62 KB 0644
git-cvsimport.txt File 7.57 KB 0644
git-cvsserver.html File 38.1 KB 0644
git-cvsserver.txt File 15.21 KB 0644
git-daemon.html File 32.69 KB 0644
git-daemon.txt File 11.58 KB 0644
git-describe.html File 24.35 KB 0644
git-describe.txt File 5.59 KB 0644
git-diff-files.html File 59.9 KB 0644
git-diff-files.txt File 1.18 KB 0644
git-diff-index.html File 64.69 KB 0644
git-diff-index.txt File 4.49 KB 0644
git-diff-tree.html File 82.31 KB 0644
git-diff-tree.txt File 5.26 KB 0644
git-diff.html File 66.63 KB 0644
git-diff.txt File 5.34 KB 0644
git-difftool.html File 22.93 KB 0644
git-difftool.txt File 4.02 KB 0644
git-fast-export.html File 23.45 KB 0644
git-fast-export.txt File 5.16 KB 0644
git-fast-import.html File 92.66 KB 0644
git-fast-import.txt File 53.75 KB 0644
git-fetch-pack.html File 21.26 KB 0644
git-fetch-pack.txt File 3.28 KB 0644
git-fetch.html File 38.95 KB 0644
git-fetch.txt File 2.65 KB 0644
git-filter-branch.html File 37.67 KB 0644
git-filter-branch.txt File 16.84 KB 0644
git-fmt-merge-msg.html File 19.55 KB 0644
git-fmt-merge-msg.txt File 1.87 KB 0644
git-for-each-ref.html File 25.45 KB 0644
git-for-each-ref.txt File 5.72 KB 0644
git-format-patch.html File 58.91 KB 0644
git-format-patch.txt File 18.38 KB 0644
git-fsck-objects.html File 16.88 KB 0644
git-fsck-objects.txt File 354 B 0644
git-fsck.html File 23.33 KB 0644
git-fsck.txt File 4.54 KB 0644
git-gc.html File 23.82 KB 0644
git-gc.txt File 5.34 KB 0644
git-get-tar-commit-id.html File 17.32 KB 0644
git-get-tar-commit-id.txt File 737 B 0644
git-grep.html File 29.02 KB 0644
git-grep.txt File 7.55 KB 0644
git-gui.html File 22.1 KB 0644
git-gui.txt File 3.5 KB 0644
git-hash-object.html File 18.92 KB 0644
git-hash-object.txt File 1.8 KB 0644
git-help.html File 25.14 KB 0644
git-help.txt File 5.99 KB 0644
git-http-backend.html File 28.46 KB 0644
git-http-backend.txt File 9.48 KB 0644
git-http-fetch.html File 18.41 KB 0644
git-http-fetch.txt File 1.14 KB 0644
git-http-push.html File 20.73 KB 0644
git-http-push.txt File 2.91 KB 0644
git-imap-send.html File 22.84 KB 0644
git-imap-send.txt File 4.24 KB 0644
git-index-pack.html File 21.01 KB 0644
git-index-pack.txt File 3.32 KB 0644
git-init-db.html File 16.95 KB 0644
git-init-db.txt File 409 B 0644
git-init.html File 23 KB 0644
git-init.txt File 4.69 KB 0644
git-instaweb.html File 20.06 KB 0644
git-instaweb.txt File 2.25 KB 0644
git-log.html File 111.87 KB 0644
git-log.txt File 5.68 KB 0644
git-lost-found.html File 18.83 KB 0644
git-lost-found.txt File 1.69 KB 0644
git-ls-files.html File 26.46 KB 0644
git-ls-files.txt File 6.1 KB 0644
git-ls-remote.html File 20.11 KB 0644
git-ls-remote.txt File 2.54 KB 0644
git-ls-tree.html File 21.06 KB 0644
git-ls-tree.txt File 2.93 KB 0644
git-mailinfo.html File 20.78 KB 0644
git-mailinfo.txt File 3 KB 0644
git-mailsplit.html File 18.52 KB 0644
git-mailsplit.txt File 1.21 KB 0644
git-merge-base.html File 23.17 KB 0644
git-merge-base.txt File 4.32 KB 0644
git-merge-file.html File 20.71 KB 0644
git-merge-file.txt File 2.72 KB 0644
git-merge-index.html File 19.88 KB 0644
git-merge-index.txt File 2.39 KB 0644
git-merge-one-file.html File 16.9 KB 0644
git-merge-one-file.txt File 387 B 0644
git-merge-tree.html File 17.32 KB 0644
git-merge-tree.txt File 749 B 0644
git-merge.html File 50.38 KB 0644
git-merge.txt File 11.97 KB 0644
git-mergetool--lib.html File 18.23 KB 0644
git-mergetool--lib.txt File 1.18 KB 0644
git-mergetool.html File 20.98 KB 0644
git-mergetool.txt File 3.26 KB 0644
git-mktag.html File 17.63 KB 0644
git-mktag.txt File 806 B 0644
git-mktree.html File 17.94 KB 0644
git-mktree.txt File 1.05 KB 0644
git-mv.html File 18.33 KB 0644
git-mv.txt File 1.16 KB 0644
git-name-rev.html File 19.17 KB 0644
git-name-rev.txt File 1.68 KB 0644
git-notes.html File 35.71 KB 0644
git-notes.txt File 13.08 KB 0644
git-p4.html File 44.35 KB 0644
git-p4.txt File 18.73 KB 0644
git-pack-objects.html File 28.46 KB 0644
git-pack-objects.txt File 8.86 KB 0644
git-pack-redundant.html File 18.24 KB 0644
git-pack-redundant.txt File 1.13 KB 0644
git-pack-refs.html File 19.15 KB 0644
git-pack-refs.txt File 2.06 KB 0644
git-parse-remote.html File 16.97 KB 0644
git-parse-remote.txt File 471 B 0644
git-patch-id.html File 17.71 KB 0644
git-patch-id.txt File 940 B 0644
git-peek-remote.html File 18.03 KB 0644
git-peek-remote.txt File 1.08 KB 0644
git-prune-packed.html File 17.99 KB 0644
git-prune-packed.txt File 935 B 0644
git-prune.html File 19.57 KB 0644
git-prune.txt File 1.76 KB 0644
git-pull.html File 54.96 KB 0644
git-pull.txt File 7.72 KB 0644
git-push.html File 48.49 KB 0644
git-push.txt File 16.26 KB 0644
git-quiltimport.html File 18.4 KB 0644
git-quiltimport.txt File 1.4 KB 0644
git-read-tree.html File 38.05 KB 0644
git-read-tree.txt File 16.36 KB 0644
git-rebase.html File 57.88 KB 0644
git-rebase.txt File 23.62 KB 0644
git-receive-pack.html File 23.98 KB 0644
git-receive-pack.txt File 5.48 KB 0644
git-reflog.html File 20.86 KB 0644
git-reflog.txt File 3.09 KB 0644
git-relink.html File 17.41 KB 0644
git-relink.txt File 649 B 0644
git-remote-ext.html File 22.43 KB 0644
git-remote-ext.txt File 3.93 KB 0644
git-remote-fd.html File 19 KB 0644
git-remote-fd.txt File 1.63 KB 0644
git-remote-helpers.html File 16.45 KB 0644
git-remote-testgit.html File 17.26 KB 0644
git-remote-testgit.txt File 570 B 0644
git-remote.html File 26.62 KB 0644
git-remote.txt File 6.79 KB 0644
git-repack.html File 22.99 KB 0644
git-repack.txt File 4.52 KB 0644
git-replace.html File 19.86 KB 0644
git-replace.txt File 2.26 KB 0644
git-repo-config.html File 16.85 KB 0644
git-repo-config.txt File 324 B 0644
git-request-pull.html File 17.41 KB 0644
git-request-pull.txt File 528 B 0644
git-rerere.html File 25.93 KB 0644
git-rerere.txt File 7.29 KB 0644
git-reset.html File 36.54 KB 0644
git-reset.txt File 14.15 KB 0644
git-rev-list.html File 73.64 KB 0644
git-rev-list.txt File 3.59 KB 0644
git-rev-parse.html File 46.91 KB 0644
git-rev-parse.txt File 10.03 KB 0644
git-revert.html File 22.61 KB 0644
git-revert.txt File 3.69 KB 0644
git-rm.html File 24.83 KB 0644
git-rm.txt File 5.68 KB 0644
git-send-email.html File 36.99 KB 0644
git-send-email.txt File 13.93 KB 0644
git-send-pack.html File 21.8 KB 0644
git-send-pack.txt File 3.6 KB 0644
git-sh-i18n--envsubst.html File 17.64 KB 0644
git-sh-i18n--envsubst.txt File 928 B 0644
git-sh-i18n.html File 18.06 KB 0644
git-sh-i18n.txt File 1.12 KB 0644
git-sh-setup.html File 20.46 KB 0644
git-sh-setup.txt File 2.73 KB 0644
git-shell.html File 20.25 KB 0644
git-shell.txt File 2.47 KB 0644
git-shortlog.html File 24.29 KB 0644
git-shortlog.txt File 2.57 KB 0644
git-show-branch.html File 25.52 KB 0644
git-show-branch.txt File 6.36 KB 0644
git-show-index.html File 17.03 KB 0644
git-show-index.txt File 478 B 0644
git-show-ref.html File 24.15 KB 0644
git-show-ref.txt File 5.83 KB 0644
git-show.html File 38.73 KB 0644
git-show.txt File 1.64 KB 0644
git-stage.html File 16.82 KB 0644
git-stage.txt File 300 B 0644
git-stash.html File 29.25 KB 0644
git-stash.txt File 9.85 KB 0644
git-status.html File 27.38 KB 0644
git-status.txt File 7.77 KB 0644
git-stripspace.html File 19.37 KB 0644
git-stripspace.txt File 1.83 KB 0644
git-submodule.html File 36.33 KB 0644
git-submodule.txt File 15.13 KB 0644
git-svn.html File 73.85 KB 0644
git-svn.txt File 41.53 KB 0644
git-symbolic-ref.html File 19.37 KB 0644
git-symbolic-ref.txt File 1.93 KB 0644
git-tag.html File 31.51 KB 0644
git-tag.txt File 9.44 KB 0644
git-tar-tree.html File 20.04 KB 0644
git-tar-tree.txt File 2.31 KB 0644
git-tools.html File 22.01 KB 0644
git-tools.txt File 3.36 KB 0644
git-unpack-file.html File 17.13 KB 0644
git-unpack-file.txt File 434 B 0644
git-unpack-objects.html File 18.15 KB 0644
git-unpack-objects.txt File 1.14 KB 0644
git-update-index.html File 35.2 KB 0644
git-update-index.txt File 13.2 KB 0644
git-update-ref.html File 20.82 KB 0644
git-update-ref.txt File 3.16 KB 0644
git-update-server-info.html File 17.72 KB 0644
git-update-server-info.txt File 797 B 0644
git-upload-archive.html File 17.35 KB 0644
git-upload-archive.txt File 617 B 0644
git-upload-pack.html File 17.88 KB 0644
git-upload-pack.txt File 869 B 0644
git-var.html File 19.08 KB 0644
git-var.txt File 1.8 KB 0644
git-verify-pack.html File 18.39 KB 0644
git-verify-pack.txt File 1.07 KB 0644
git-verify-tag.html File 17.2 KB 0644
git-verify-tag.txt File 411 B 0644
git-web--browse.html File 21.63 KB 0644
git-web--browse.txt File 3.43 KB 0644
git-whatchanged.html File 35.64 KB 0644
git-whatchanged.txt File 1.55 KB 0644
git-write-tree.html File 17.91 KB 0644
git-write-tree.txt File 1 KB 0644
git.html File 70.05 KB 0644
git.txt File 31.8 KB 0644
gitattributes.html File 62.01 KB 0644
gitattributes.txt File 33.51 KB 0644
gitcli.html File 26.56 KB 0644
gitcli.txt File 7.75 KB 0644
gitcore-tutorial.html File 99.92 KB 0644
gitcore-tutorial.txt File 62.33 KB 0644
gitcredentials.html File 24.45 KB 0644
gitcredentials.txt File 5.93 KB 0644
gitcvs-migration.html File 26.03 KB 0644
gitcvs-migration.txt File 7.38 KB 0644
gitdiffcore.html File 29.51 KB 0644
gitdiffcore.txt File 10.78 KB 0644
gitglossary.html File 48.63 KB 0644
gitglossary.txt File 369 B 0644
githooks.html File 35.01 KB 0644
githooks.txt File 13.48 KB 0644
gitignore.html File 24.81 KB 0644
gitignore.txt File 6.58 KB 0644
gitk.html File 21.61 KB 0644
gitk.txt File 3.23 KB 0644
gitmodules.html File 21.72 KB 0644
gitmodules.txt File 3.76 KB 0644
gitnamespaces.html File 20.5 KB 0644
gitnamespaces.txt File 3.2 KB 0644
gitremote-helpers.html File 39.11 KB 0644
gitremote-helpers.txt File 16.06 KB 0644
gitrepository-layout.html File 28.1 KB 0644
gitrepository-layout.txt File 7.95 KB 0644
gitrevisions.html File 32.66 KB 0644
gitrevisions.txt File 774 B 0644
gittutorial-2.html File 33.55 KB 0644
gittutorial-2.txt File 14.37 KB 0644
gittutorial.html File 44.41 KB 0644
gittutorial.txt File 22.43 KB 0644
gitweb.conf.html File 66.11 KB 0644
gitweb.conf.txt File 37.3 KB 0644
gitweb.html File 50.94 KB 0644
gitweb.txt File 26.34 KB 0644
gitworkflows.html File 38.85 KB 0644
gitworkflows.txt File 17 KB 0644
glossary-content.txt File 21.95 KB 0644
howto-index.html File 21.31 KB 0644
howto-index.txt File 3.29 KB 0644
i18n.txt File 2.16 KB 0644
mailmap.txt File 2.35 KB 0644
merge-config.txt File 3.47 KB 0644
merge-options.txt File 3.58 KB 0644
merge-strategies.txt File 4.6 KB 0644
mergetools-diff.txt File 181 B 0644
mergetools-merge.txt File 187 B 0644
pretty-formats.txt File 7.59 KB 0644
pretty-options.txt File 2.81 KB 0644
pull-fetch-param.txt File 3.19 KB 0644
rev-list-options.txt File 27.11 KB 0644
revisions.txt File 11.5 KB 0644
sequencer.txt File 392 B 0644
urls-remotes.txt File 2.4 KB 0644
urls.txt File 3.12 KB 0644
user-manual.html File 264.08 KB 0644
user-manual.txt File 170.67 KB 0644