Having shot myself in the foot by rewriting already pushed history, it occurred to me that perhaps I could have the commits list in interactive rebase reflect the commits’ push status in color. If lines of commits that I’ve already pushed to a remote were colored red (or any sufficiently differentiating color), I might actually notice when I’m about to screw up again.
To illustrate what I mean, here’s a mockup I made. This is what it would look like if this was my commit history, and 8b0ce7b was the last commit I had already pushed to a remote:
I have no previous experience in modifying syntax highlighting code, and I have no idea if what I’m suggesting is even possible with vim, so I figured I’d open this request first in case it’s a silly idea, or conversely, if you deem this useful enough to implement yourself.