]> git.phdru.name Git - git-wiki.git/blobdiff - pep-git.txt
Explain rerere
[git-wiki.git] / pep-git.txt
index 4684b1e739eb1859be92dda50b52e1aa382b5098..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
@@ -710,8 +734,8 @@ the recommended parameters are ``git repack -a -d -f --depth=20
 for explanation on the effects of these parameters.
 
 From time to time run ``git fsck [--strict]`` to verify integrity of
-the database. ``git fsck`` could report dangling objects; that's not
-an error, just a reminder to perform regular maintenance.
+the database. ``git fsck`` may produce a list of dangling objects;
+that's not an error, just a reminder to perform regular maintenance.
 
 
 Tips and tricks