What you get with Git

I recently broke down and decided to try and use Git for something. Practically every open source project I use has now moved to GitHub and it was becoming hard to submit patches (or pull requests or whatever) without having a Git client on my machine.

I decided to install GitHub for Windows since it is new and it is the thing I have most recently heard about. I was very pleased with my initial impressions with it – very nice UI and workflow. The two features I immediately found lacking were the lack of being able to define an external diff/conflict viewer and the inability to show a log on a particular file. However, I'm looking forward to future versions which I am sure things like that will be addressed. Besides for now, if the project is hosted on GitHub, it is easy enough to click the "view on github" link and see the history info there.

Git, coming from an SVN background, does take some getting used to. Branches and tags are different, file renames and deletes are much easier in that you don't really need to track it – git does it for you automagically (which was confusing at first for me). Overall, though, it makes a lot more sense for open source projects as far as sharing code and collaborating with many disparate parties.

Anyway, long story short, I liked it so much that I ended up moving my two, lonely open source projects over to GitHub. They can now be found here:

I also took this opportunity to finally finish v2.0 of Geocoding.Net since I have neglected it for a good while now. It fixes a bunch of bugs people have logged with it and it also adds reverse geocoding support.

It was relatively painless migrating the repos from svn to git while still preserving commit history. And now that is done, I am enjoying the disconnected commit model you get with git especially since Isaac is coming to disconnect my internet and power very soon.

Chad Lee

Chad Lee

Technical Lead at CivicSource, OSS developer. Expert in distributed systems, REST, messaging, domain-driven design, test-driven development, & CQRS. Beginner dad, novice human.

Read More