Frankly, I have been a touch cynical about the love shown in the .Net community for Git and Mercurial. Sure, I thought, they might be better than Subversion, but how much better could they be? Surely, this was just effort being wasted on technical toys, when time could be better spent on writing code that solved real customer’s problems.
I’ve had a change of mind. I’m open minded enough to read up on something at least superficially, before deciding it is not far up my priority list.
This is my initial impressions of the state of DVCS – errors and omissions are probable at this stage.
I am going to spend a fair amount of time reading and ultimately using Git, and these are the reasons why I think it is superior to centralised source control, you should consider it too:
- No need to be continually connected to the Source Control Repository. All the source is stored locally on your machine, and you can commit your changes to the staging area whenever you like, and push the changes to other remote servers when you are connected/ready
- I understand DVCS allow operations such as moving and renaming files which other products often found challenging. The key to this seems to be the fact that the changes between revisions are tracked.
- Online collaborative sites such as GitHub. Secure hosting for your source, with loads of workflow features.
- Ease of Branching/Merging. I’ve experience of the excellent Merging and Branching support in Perforce. I look forward to seeing how it compares to DVCS.
- Price and Performance. Free and Fast – what a combination.
Useful resources
Professional Git Online Book
Joel Spolsky’s Introduction to DVCS and Mercurial
GitHub