I would recommend http://gitup.co/ I never had huge experience with this, since when I met it, I already knew git CLI well enough to get me around with just a terminal and sometimes viewing the tree in gitk with its branches. I think that a good GUI for beginners is an excellent learning tool to get what's going on behind the scenes, and GitUp project has exactly this goal: to ease up the confusion behind what's a push/pull/remote/local/distributed/etc concepts that you just read and don't make sense (at the beginning). IMHO, I would recommend the following: Beginner: GitUp + studying other tools mentioned here. Understand what's going on Intermediate: SourceTree, GitX or any other GUI. Those won't do anything too fancy for you, but will help you view what's going on and move branches here and there Pure terminal + git logs, reflogs etc. In this level, you'll feel exactly like the Matrix movie. Things running on your screen, and you'll just simply understand what's going on.