Example
You can see what "hunks" of work would be staged for commit using the patch flag:
git add -p
or
git add --patch
This opens an interactive prompt that allows you to look at the diffs and let you decide whether you want to include them or not.
Stage this hunk [y,n,q,a,d,/,s,e,?]?
- y stage this hunk for the next commit
 
- n do not stage this hunk for the next commit
 
- q quit; do not stage this hunk or any of the remaining hunks
 
- a stage this hunk and all later hunks in the file
 
- d do not stage this hunk or any of the later hunks in the file
 
- g select a hunk to go to
 
- / search for a hunk matching the given regex
 
- j leave this hunk undecided, see next undecided hunk
 
- J leave this hunk undecided, see next hunk
 
- k leave this hunk undecided, see previous undecided hunk
 
- K leave this hunk undecided, see previous hunk
 
- s split the current hunk into smaller hunks
 
- e manually edit the current hunk
 
- ? print hunk help
 
This makes it easy to catch changes which you do not want to commit.
You can also open this via git add --interactive and selecting p.