SourceTree for Windows beta
blog.sourcetreeapp.com
blog.sourcetreeapp.com
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.
I never had any major issues with my tools.
I develop software on Windows, Aix, HP-UX, Solaris, GNU/Linux, BSD, Android, Windows Phone.
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.
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.
No one uses ALL of git, but everyone needs a different subset of the creature.
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)
Magit is excellent, by the way.
Tortoise git is pretty good too. I personally would love to be able to use it on linux and mac.
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 :)
Committing portions or single lines of a file, remembering to push that pesky submodule, all becomes an order of magnitude easier and quicker with a decent GUI. The response to "but it can't do everything, so I'll stick to CLI", is simple. The 5% of the time the GUI doesn't cover exactly what you need, the terminal is sitting right there for you... it doesn't disable it.
I was introduced to SourceTree for Mac when I started at my new shop and I've gotta say that I love it. I don't consider it a crutch so much as a part of a faster workflow. I enjoy the ability to quickly see diffs, to pick and choose what files I want to commit with just a click+drag, and generally moving through simple git things (push, pull, commit, merge, rebase, resolve merge conflicts) with the click of a button or a keyboard shortcut.
It's not as powerful as using CLI (you can't perform an interactive rebase, for example) but for the most part it fits my workflow of branching, merging, and pull requesting pretty nicely.
Cheers, Justen -- Bitbucket and SourceTree product manager
https://answers.atlassian.com/questions/21072/sourcetree-for...
The biggest thing I use SourceTree for over command-line git is cherry-picking bits of different versions of a file to merge. Also, if you have loads of repos it can auto-announce changes on the remotes when you open it, which saves a lot of command line hunting to stay on top of things.
Great tool, good team. Glad you're expanding.
I would also much prefer to use the same client on Windows and Mac, as I'm using both.
No more git hassle on Windows :-)
Cheers, Justen -- Bitbucket and SourceTree product manager
However, I'm already on board with Github for Windows and unless that causes me some unusual pain at some point, I'm loathe to bother changing just for the sake of changing.
A big thank-you to both firms for investing the time to make Git more "functional" and less "technical entertainment."
Signed up for the beta. Most of our users unfortunately have a dislike for everything CLI (.. =( ..), so in this environment it's either Git Extensions, the upcoming VS 2012 native client or .. maybe this project.
Now my co-workers will finally have a decent Windows git app.