]> git.phdru.name Git - git-wiki.git/blobdiff - pep-git.txt
Explain rerere
[git-wiki.git] / pep-git.txt
index 2f5a5b0013415eca094797d5c0c5b927a94a9f63..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
@@ -729,7 +753,7 @@ git on server
 =============
 
 TODO: anonymous access (``git daemon``); git over ssh; gitolite;
-gitweb; cgit; gitlab.
+gitweb; cgit; Kallithea; pagure; gogs and gitea; gitlab.
 
 http://gitolite.com/gitolite/index.html
 
@@ -737,6 +761,15 @@ https://git.kernel.org/cgit/git/git.git/tree/gitweb
 
 http://git.zx2c4.com/cgit/
 
+https://kallithea-scm.org/
+
+https://pagure.io/
+
+http://gogs.io/ and http://gitea.io/
+
+https://about.gitlab.com/
+
+
 From Mercurial to git
 =====================