@dave give Jujutsu a look, it’s built on top of git’s data store (so is compatible with anything git) but the support for moving changes between branches is so much nicer to use.
@dave as one example it has a trivial to use jj split command, which provides an interactive editor to select which chunks you want in which commit, then provides you with two clean commits.
@jon (also, do you know if it's gaining a lot of traction in dev land? that would be justification for becoming famillar.)
@jon and (final question, promise) can you use jj in a specific branch and leave the others as vanilla Git?
@dave I’m the only person I know using it. Sadly git, and in particular GitHub’s opinionated approach to using git, has captured everyone. Thankfully jj works fine with that, and also makes the very tedious “open fifteen stacked PRs instead of using commits like a sane person” approach less painful than usual.
@dave not really, “a branch” isn’t really an atomic thing in either git or jj’s model of the world, it’s just a pointer to a specific commit.