In practice, I never use 'commit -a' or 'git add -A'. I prefer to use 'git gui' to interactively stage files or just specific lines. This way I can be sure of what is being committed.
git add -i is a good idea, but the interface is just /atrocious/ - confusing, poorly worded, visually unattractive and hard to read (dark blue text is not very user friendly on a black background).
I guess it's a matter of taste. I would find the context switching between the shell and the GUI more jarring than the usability of `git add -i`. Also, shell colours can be adjusted.
But in the end it's good to have multiple options.
I've defaulted to this for some time now, and have no issues with keeping my own smattering of me-specific configuration overrides. Plus, there are a couple other times when being able to work through the patching interface is a handy skill to have.
[1] https://mac.github.com/