]> git.phdru.name Git - git-wiki.git/commitdiff
Explain rerere
authorOleg Broytman <phd@phdru.name>
Sat, 22 Aug 2015 15:00:04 +0000 (18:00 +0300)
committerOleg Broytman <phd@phdru.name>
Sat, 22 Aug 2015 15:00:04 +0000 (18:00 +0300)
pep-git.txt

index 624efb152c4e89da7ab04a5993e0dacb81b19cc9..942aa34b002272f3714527a267b9f323d376b24f 100644 (file)
@@ -674,7 +674,31 @@ Wiki.
 ReReRe
 ======
 
-https://git-scm.com/book/en/Git-Tools-Rerere
+Rerere is a mechanism that helps to resolve repeated merge conflicts.
+The most frequent source of recurring merge conflicts are topic
+branches that are merged into mainline and then the merge commits are
+removed; that's often performed to test the topic branches and train
+rerere; merge commits are removed to have clean history and finish a
+topic branch with only one last merge commit.
+
+Rerere works by remembering the states of tree before and after a
+successful commit. That way rerere can automatically resolve conflicts
+if they appear in the same files.
+
+Rerere can be used manually with ``git rerere`` command but most often
+it's used automatically. Enable rerere with these commands in a
+working tree::
+
+    $ git config rerere.enabled true
+    $ git config rerere.autoupdate true
+
+You don't need to turn rerere on globally - you don't want rerere in
+bare repositories or repositories without branches; you only need
+rerere in repos where you often perform merges and resolve merge
+conflicts.
+
+See `Rerere <https://git-scm.com/book/en/Git-Tools-Rerere>`_ in The
+Book.
 
 
 Database maintenance