Half a Year of Github — A Review

No Comments

I recently noticed that it's been now more than six months since I joined github - reason enough to write a small review.

Let me start off with saying that I'd like to separate the git dvcs and github. Thing is: I don't really like git. I prefer mercurial for various reasons. Part of it is that I find the tools for git insufficient and I can't cope with the often unforgiving nature of git. Especially the Eclipe egit plugin is in my eyes often misleading and treacherous. But enough, there's been enough articles on git versus mercurial around. To me, it simply boils down to this:

Git is not a Prius. Git is a Model T. Its plumbing and wiring sticks out all over the place. You have to be a mechanic to operate it successfully or you'll be stuck on the side of the road when it breaks down. And it will break down.

My advice to you: Stick to the git cli and you should be good to go. The cli tends to be much more verbose than any of the GUI tools. You will find out much sooner why you're suddenly stuck in a disconnected head instead of ending up in the branch you intended to be.

So, let's talk about github: During the past few years, a lot of interesting projects moved to github. Among them: The Horde framework, Habari, phpMyAdmin. Only git itself kept me from following them.

It's not been until the developers of the Yii framework decided to move from Google Code to github. Being heavily involved with that framework (i.e. I had some important patches left on my disk that I didn't want to leave unattended), I saw no choice but to follow. Suffice to say, it's been quite a shock. So, I need to fork the entire project in order to participate? Patches are pull requests now? Is this really to speed up development? What took me five minutes in the google code tracker now lasted almost half an hour on github. Not to mention: I've payed my apprentice's due by trashing my fork a couple of times with no way to repair it safe for re-creating it (at least that's what I've been told back then).

With half a year having passed I've got to say: I'm really grown to like it. Its user interface takes a lot of complexity off of the underlying git. And since I got more proficient with github, setting up pull requests is a much smoother and comfortable process than it used to be for me. The interface also makes code reviews a breeze (and much more fun). The ability to leave notes on certain lines within a pull request is a brilliant idea, too. Miniature changes (e.g. documentation changes in a single file) are ridiculously easy with the means provided by the web interface which spares you much of the fork-branch-edit-commit-pr-cycle. Apart from that, following interesting changes within selected projects is really comfortable (and often enlightning). The claim "social coding" is surely not a lie. Although the recent updates messed up my settings at first.

While I've accepted the fact that I will probably never master git in full (much like my C-skills), there's little that could keep my from using github now.

Be the first to write a comment!