+1 for tig. tig blame is also excellent, you can easily drill down to see who changed a line. Plus tig is a great replacement for git log since it launches in around 0.25 seconds compared to 1+ seconds for gitk and other graphical viewers.
Came here to suggest tig; one nice feature about it is that if you're annotating a file in the "blob" view (IIRC), the annotation information streams in as tig walks the commit tree backwards. This can be nice in a repository with thousands of commits.