Scout
Let Scout do it for you
The `jj absorb` command automatically moves individual changes from your working directory to the most appropriate previous commits by matching line edits with their most recent modifications.
It splits and distributes changes across ancestors, producing a logically consolidated commit history without manual squashing or splitting. This functionality is not available in standard Git and operates at a finer granularity than traditional squash commands, helping maintain clean and organized revision histories.
I like this for removing accidental file inclusion, especially the security needs of accidental environment variable / secrets inclusion.