Sunday, January 6, 2008

GIT - Fast Version Contorl System

If you use CVS or SVN then you are stupid and ugly! At least that is what Linus Torvalds is saying in Linus Torvalds on git video. Linus started GIT when Linux kernel developers had been withdrawn the ability to use BitKeeper in 2005. It seems that since then the GIT has evolved to be one of the best SCMs around.

So far I have been using CVS and SVN but Linus definitely hit the nail on the head. GIT is not improved SVN. GIT is built on top of very different mental model. It is distributed system and there is no central repository. It was designed to handle very large set of files and complex merges (fast and efficiently) and it is really robust. If you want to understand what this means then see Linus' video (I don't want to rephrase his excellent speech).

Another very interesting video about GIT by Randal Schwarts. This one is more technically oriented - internal data structures, command examples, update protocols, built in CVS server for smooth integration... etc,etc ... (Randal is very fast speaker).

Despite GIT was designed especially for large projects (like Linux kernel) I don't see any reason why it shouldn't be used for smaller project as well - even for project with only single developer.

No comments: