I’ve been experimenting with Git for source control management (SCM), I’m really starting to appreciate the benefits of the distributed features it provides. The User’s Manual is very comprehensive, and the SVN -> Git crash course was excellent in getting me up to speed. Simplistic Complexity provides an awesome SVN to Git Migration Guide that helped me split my monolithic subversion repository into a series of lean git trees. Although git is relatively new, there is some pretty good support for hooking it into existing tools like Redmine, which has support for git in its latest trunk. Hopefully I will be able to convert some of my co-workers soon, but until then I’m going to be using a hybrid workflow of git and subversion, mostly facilitated by git-svn.
Update: I’ve been playing with gitosis for managing “push” repositories that I can share with others or use to deploy with capistrano. The program requires you have SSH setup perfectly, and there are a few caveats (read: must use ssh on port 22 to deploy with capistrano), but its very simple once you get it working. I really like how access to your repositories is done with public SSH keys. Scie.nti.st has more.
Another Update: I secured a GitHub beta invite and was able to successfully push all of my repositories there. GitHub also has some great documentation on deploying with capistrano and github which enabled me to re-deploy all of my applications to my server using git. As a side-benefit I now also have all my mongrels running as an unprivileged user.

