See how git history fixup, reword, and split rewrite your commit graph.
git history is atomic — it never leaves your tree half-broken. If the operation would produce a conflict, it refuses. That's less powerful than jj, but much safer than rebase -i.