I’ve read various things about git’s
rerere feature, and I’m considering enabling it.
git rererefunctionality is a bit of a hidden feature. The name stands for “reuse recorded resolution” and, as the name implies, it allows you to ask Git to remember how you’ve resolved a hunk conflict so that the next time it sees the same conflict, Git can resolve it for you automatically.
But I haven’t seen anyone mention any possible problems that could arise while using
I have to assume there is a downside, or it would probably be enabled by default. So is there any downside to enabling rerere? What potential problems can it cause that would not otherwise occur?
If you do a merge incorrectly, then discard it, then do the “same” merge again, it will be incorrect again. You can forget a recorded resolution, though. From the documentation:
git rerere forget <pathspec>
This resets the conflict resolutions which rerere has recorded for the current conflict in
Be careful to use it on specific paths; you don’t want to blow away all of your recorded resolutions everywhere. (
forget with no arguments has been deprecated to save you from doing this, unless you type
git rerere forget . to explicitly request it.)
But if you don’t think to do that, you could easily end up putting that incorrect merge into your history..