If you use Emacs and git, you should know about Magit, an Emacs interface to git. What I really like about Magit is that it is not only possible to select individual hunks to stage, but it is possible to stage a few lines: if a region is active, only the changes in that region are staged.

Unfortunately, I often forget the key bindings. While searching today, I came across this nice Magit cheat sheet by Daemian Mack. Thanks Daemian!