Tuesday, June 26, 2012

When do I use Git?

If you have watched Linus talk about Git, I am sure you have felt ashamed of yourself for using SVN or CVS and not finding them evil. I have.



The first time I saw this video, I felt can never hold my head high again.

Well, after some time the guilt settled and I asked myself why exactly do I need Git. I studied a bit and my question changed to "When is it better use Git?". And to my great relief the answer wasn't a resounding - ALWAYS.

Here are my answers:
  1. Use Git when you often work offline. With Git you work on your own branch. So you can work on them, commit, revert to a previous version if necessary and all this without an internet connection. And when you are on again, you can push your changes to the remote repository.
  2. Use Git (and Github) for Open Source.Git being a distributed version control system, it is ideal for an Open Source project. With Git no one is the master. People can easily fork from a branch. They can pull necessary changes from each other. And an additional opinion - use Github for this purpose. It is a killer and it is FREE for opensource projects.
A Disclaimer:
  • These are MY answers. Might not be yours.
  • The answers are based on the important features of Git and not on functional nitty-gritties. I have just started using Git and will update this article if something comes up to change my opinion.
That said. You can always use Git for version controlling, as it can do everything that can be done by SVN or CVS. But Git has a learning curve substantially steeper than the other two I have used, and doesn't have a great UI as of now. So, for professional projects, where I have to introduce freshers to version control, I stick to SVN.