How do I see who changed a line?

Blame the file, then walk back through the commits under it.

Select the file and press ⌥⌘B. Each line is annotated with the commit that last changed it.

The last commit to touch a line is often not the one you want — someone reformatted the file, or renamed a symbol across it. From any line you can step to the previous commit that touched it and annotate from there, as many times as it takes to reach the change that decided something.

From an annotation you can open the commit itself, where the message usually answers the question you actually had, which is not who but why.