Tuesday, August 31, 2010

Git and GitHub

I recently brought up version control systems at a circuit hacking evening at the Artifactory. Not surprisingly for a room of open source/linux type people almost everyone was in favour of using git. I was even pointed to a youtube video of Linus Torvalds on git which is not a tutorial on how to use git but does provide a good overview of why it might be better than other version control systems. I also found the video quite amusing due to Linus’ famously abrupt manner.

My concern with using git was that I am a windows user and didn’t expect it to work natively with windows. It doesn’t matter how many ways git is superior to other version control systems, if it doesn’t work well on windows it’s not for me.

Fearing that I would be wasting my time I tried out msysgit (git for windows) which includes such goodies as shell integration that allows for a gui or bash interface for managing repositories. It actually turned out to be quite good. The interface is not as nice as TortoiseSVN but the distributed version control nature of git more than makes up for that.

The only way to properly test something like this out is to use it on a real project so I started using git for version control of my BalanceBot project on my laptop.

I don’t like to have anything which is important to me stored in only one location so after checking out my options I started a GitHub account. It’s a safe place to push repositories to and it’s free as long as your projects are open source. There is also a neat Watch function that allows you to track other interesting repositories, kind of like social media for code.