Ravi Mohan's Tech Blog. To read my non technical blog, click here

Saturday, February 21, 2009

Gitting It after all

I finally moved to git (from Subversion). The key to understanding git is to understand how the various "objects" (blobs, trees, commits and tags) form a Directed Acyclic Graph, and then understand the various version control commands in terms of modifications of and traversals on this data structure. Approaching GIT from a "this is another version control system like [your favorite VCS]" is the *wrong* way to go and results in people end up confused because then git will seem to be doing things (annoyingly) differently from what they are used to.

The one minor nitpick I have is that most of the java ide s don't work well with git, but at least to me that is a blessing in disguise. I had planned to do a project with the Java/Eclipse combination but git (and the development workflow it enables) was so compelling that I am using Emacs and Haskell instead.

Which is a definite win. :-)

Update:- Apparently the Intellij IDE has a GIT plugin in the latest version. I greatly admire the product, though I don't use it myself these days.

2 comments:

Venkatesh Sellappa said...

Hmm , interesting take on git. I looked at it as something that changes my workflow.

The combination of cheap branching and the ability to try-out a feature without effecting anyone else makes it very easy to do guerilla development.

Focussing on the development aspects rather than on the logistics of integrating it with the formal/main code-base.

Anonymous said...

Git is wonderful ! Undoubted !

But, If you really think about it ... Its more of a "political" issue for it to be adopted by an enterprise ...

Enterprises are about hierarchy, bureaucracy, (stupidity?) ...

The fact that you can branch and improve something on your own sadly doesn't fit in there ...

Let's face the truth ... We live in a world where "Morons" rule ...