Subject: Re: [rfc] flip rerere.enabled default to be "on" at Git 3.0 boundary?

From: Junio C Hamano <[email-masked]>
Date: Tue, 21 Oct 2025 15:19:49 -0700

"Kristoffer Haugsbakk" <[email-masked]> writes:

> The biggest usability problem for me is when I have a cache, I want to
> keep it, but I want to remove a few pathspecs.  I’ve made some notes on
> this to myself.  Apparently I tried to `git rerere forget` on some paths
> but I got not output.  Then I did it again and it reused it. According
> to my notes I had to get into that conflict resolution state and then
> *forget*:
>
> (this is straight from my notes, I didn’t try this right now)
>
> 1. I did the wrong thing for `file`
> 2. I reset the merge back
> 3. I did the merge
> 4. *While resolving conflicts*: `git rerere forget <file>`
> 5. `git merge --abort`
> 6. Do merge again
> 7. Now I can redo the merge conflict for `<file>` while keeping the rest
>    of the resolutions
>
> I don’t know if all of that was necessary but that’s what I did to make
> it work for me.

That is how I would do it.  Of course if I know I can get to the
right resolution without steps 5 and 6, then I'd just record the
resolution after doing "rerere forget" at step 4.