Honestly, I can't stand Git on the command line and always interact with it through a GUI. I feel like source control in general is unnecessarily complicated, but Git even more so.
1970s: CVS
1980s: Subversion
1990s: Git (shifting Git to the 1990s even aligns it with the batch of distributed OS research from that era).
This is especially reductive and somewhat mean-spirited, but my point is that using Git gives me the feeling of using other types of applications from the 1990s. Source control remains stuck in an era where computer programs appeared to be designed in part to appeal to the curiosity of developers who take pride in mastering complex systems, not for being eminently usable.
When I say Git "feels 1990s" a retort is that I am a Git hater and should just use Perforce or some other crummy commercial product. That misses the point. It just feels like a tool from the 1990s, which to be clear, feels a heck of a lot better than a tool from the 1980s. But I live in the 2010s. I want a source control system that does its job and gets out of my way. Again, to be reductive and mean, just like build tools, source control systems are a time-sink that captivate the attention of people who enjoy fussing with tools. It's not that I don't like Git versus its real-world contemporaries, but I want Git + 20 years.
So, if the worst thing about this generation of source control systems is an unflattering UI... I think we have awhile until the next generation takes over.
This is caused by extreme conservatism and dogma.
"GUIs are for noobs, CLI is better"
"Everything should be text like the Unix gods intended" (code in particular)
"Keyboard is faster than mouse"
"Autocomplete? That just causes you not to learn anything"
"Who needs semantic code navigation when you have grep?"
"WYSIWYG? Use markdown or latex."
"What's wrong with the web? This canvas API is so cool."
etc.
Darcs was fun, although the exponential conflict issue was a bitch (and still not resolved as far as I know)
No one uses ALL of git, but everyone needs a different subset of the creature.
Magit is excellent, by the way.
I've tried a few third-party GUIs such as SmartGit (now SmartGitHg), git-cola and Git Extensions, but they all lacked in one area or another and drove me back to the standard ones. Looking forward to trying SourceTree.
Was a cli purist but caved on a complicated merge. Actually seeing the commit graph was incredibly helpful. Later on I discovered that Command-Clicking two commits anywhere in the tree showed their full diff. I haven't gone back to the terminal except for the straightforward commit/fetch/branch creation commands.
Glad to see that Windows users will be getting some level of access to this gem :)
I never had any major issues with my tools.
I develop software on Windows, Aix, HP-UX, Solaris, GNU/Linux, BSD, Android, Windows Phone.
Tortoise git is pretty good too. I personally would love to be able to use it on linux and mac.
I formerly thought, "why would anyone want to use a GUI for Git? It's just a crutch so you don't have to use the CLI."
Then I started actually using SourceTree a bit. I've changed my tune considerably. I think there's great benefit to using a quality GUI for Git now even though you still need to use the CLI.
First, I became stuck in this intermediate user hell where I could do all the basic stuff but didn't know the commands or quite how to get it done. SourceTree allows a very good way to get that done right now with the understanding that you just executed a command under the surface. It allows to explore the capabilities of Git a little more than the CLI would and lets you punch over your weight in the meantime.
Second, I think having a high quality graphical representation of your Git tree in front of you helps you understand the structure of your tree and enables you to make more informed, better choices on the structure it takes.
Third, I like using it for pushes, pulls, and merges simply because this is the one place in Git I tend to make a typo and screw up data. Generally that's no big deal but once in a while you push something really dumb onto the origin remote and then feel really stupid about it. If it's yours one forced push and you're good but if it's collaborative, you can cause someone a major headache.
I do wish it were open source so I could rely on it going forward a little more but clearly Atalassian has a decent business model and they view this app as a great tool into it. It even has a nice cataloguing feature where you can throw in your Github and Bitbucket usernames and see all your online repos in a list. I find this nice when needing all my git stuff on a different computer than my primary.