When I first started using and learning Git about three years ago, I used a combination of Tower and command line. Tower gave me a really good understanding of the process and meaning behind adding a file to stage, committing, pushing and pulling.

I still use it today if I want granular commits as the UI for committing lines or 'chunks' is really good. And I'm still using v1 - I imagine v2 is considerably better.