Back in january (2012) I read a blogpost by Scott Hanselman about getting involved in open-source. He wrote about a new “group” called Code52, which did a new coding project each week. It sounded interesting, so I looked into it.
Ever since, I have been following along Code52’s projects via their Jabbr channel and on Github. Eventhough I haven’t had the time to participate yet, it’s really motivating to see how people collaborate and make things happen.
As a developer you can really learn ALOT from collaborating with other developers and this part really excites me about this whole project. That’s why I have on my todo-list to participate in at least one Code52 project in 2012.
The first thing learned (and I didn’t even actively participated in a project – I were just observing) by following along Code52 were Github and how it enables developers to collaborate.
Later I found out that it wasn’t really specific to Github, but more the DVCS (Git), which Github depends upon. With Git (and Mercurial for that matter) you can “Fork” a repository, so you have your own copy of it, then you make some changes and the do a “Pull request” (kind of a patch) to the owner of the repository you forked.
This might sound complicated, and frankly, this and other stuff about Git IS hard to wrap your head around at first, but when you do (and I don’t even understand it all yet – far from) you start to see the power of this and the awsomeness of DVCS.
I have spend quite some time trying to understand Git and DVCS, and here are some helpfull links.
Read here to understand how Git works: http://think-like-a-git.net/
This is a great Windows client for using Git: http://code.google.com/p/gitextensions/
Another cool Windows client for Git: http://code.google.com/p/tortoisegit/
The best way to learn is to play around with it, so create an account on Github and do as I did, create a repository that you can play around with – I called my “GitPlayground”.