
What really helped me improve my Git knowledge was GitKraken and other similar tools. I cannot count the amount of times he had to explain me the whole rebase workflow. This experience was also invaluable because I had a walking fountain of knowledge sitting next to me and was really cool about answering my questions and pointing out all code style errors in countless PR reviews.

If you’re going to get a GUI, I’d suggest Sublime Merge. If you’re trying to learn git, maybe use a GUI alongside using the CLI to visualize the commit graph, but run all commands via the command line.
#Smartgit vs gitkraken software#
How I became a Software Developer - 5 Years Later I’d suggest using a GUI only if you already understand the git command line I wouldn’t use them as a learning tool.I like GitKraken partially because it was originally loosely based on the look/feel of Guitar Hero. Specifying filenames completely changes the semantics of some. It integrates well with git hosts and has an attractive and mostly comprehensible interface. The various options of git reset do completely different things. I still do (simple, difficult-to-mess-up) stuff from the CLI. GitKraken just has a much smoother, more accessible GUI IME, but I’ve worked with people who’ve moved the other way as well.

While you still need to really deeply understand several git concepts to use it, GitKraken is the best GUI tool I've used in daily practice. Tower is quite good if memory serves, it handles diffs/merges/patches that confuse SourceTree (particularly wrt git-flow branches). It's far too easy to clobber your own work - and that of others - when the whole point of it was to prevent that.
