| I created a replacement for the perl git-add--interactive that adds a few enhancements: - S to automatically split all hunks - G to set a global filter on hunks to show - A to automatically accept all hunks (after auto-splitting and global filter are applied) |
Then I discovered Vim fugitive. It allows to go through the diff and stage chunks so intuitively, it changed the way I work. Just j/k to move around, = to expand file, s to stage selection, c to commit. The process of reviewing changes became very natural and actually enjoyable. I like the feeling of control it gives and how it makes focused commits painless while not disrupting the flow.