Monday, May 23, 2011

A git's perspective of Github

I recently started using Github while I was working on OSS projects and would like to give my perspective on it. Simply brilliant! A part and parcel of nearly every OSS project, Github is a wonderful tool for developers because you are able to create a project, let anyone in the world fork your project and only you can commit it to the main repository if needed. Founded by Linux founder, Linus Trovalds and Tim Preston Werner, git is a distributed version control. This wonderful article by the co-founder  Tim is definitely worth a read to understand the basics of Git.

Also, if you prefer learning by doing, you can visit  Choose levels option at the bottom right of the page to go through all the levels.

Github may put you off initially especially if you have been using SVN, because of its complexity but it definitely has a lot of candies under its belt. Starting with the Github help, you can create a repository, watch other developers' repositories, fork them and commit changes to repositories you have created. I use Github on Linux, it's a lot simpler there. Read this to get started.

SVN (Source version control) was used primarily before github (and is still used) for software development and I have used both of them. SVN is a lot simpler then github with fewer commands because there is only one repository - the one on the server. Unlike in git, where you can commit changes locally to your computer (very useful when you are offline), SVN doesn't let local commits. So, if you don't have an internet connection, you actually have to copy paste your code if you are using SVN. For more differences between SVN and github, visit this post or this.

Another distributed version control is Mercurial. I haven't used Mercurial yet but most open source softwares use Github though I know many enterprises which use Mercurial. It is also called hg, the command-line name for this version control (notice: Hg = Mercury :P). A really funny but informative analogy comparing Mercurial to Github can be read here.

P.S: You can follow me on Github here.

No comments:

Post a Comment