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.