git itself also has the lesser known `git add --patch` (or `-p`), the interactive staging tool (not to be confused with `git add --interactive` or `-i`, which does add more interactive tools but has a much more complex TUI that doesn't start from diffs).