Some Things I Wish I'd Known (Open Source Development) Part 1 GIT
The Open Source Development world is a big one. First, I thought I'd have to convert everything and all of my machines to Linux. In fact, unlike vendor provided solutions, (read Visual Studio and components here) The open source arena provides what seems like too many choices. So it becomes important to pick what you pay attention to or you will waste a lot of time just investigating alternatives.
Git web Site
I avoided three things early on which I wish I had just gone ahead with at the time.
- Version Control with GIT
- Learning VIM (a very powerful text editor) Along with command line orientation.
I got some brief exposure to GIT as a version control system when putting up my 1st application on Google App-Engine. I thought it was horribly complex.I'll confess to using Tortoise GIT (a GUI interface) to help my learning process.
My old school learning had taught me to keep separate folders and to be meticulous about backups. I began using Subversion (another version control system) on my local machine, and I got into more Python I explored Mercurial. which seems somewhat simpler than Git and has the advantage of being Python based.
Even in the two years I have working in the Open Source world the version control tools are much better. GIT now runs well on all platforms (including Windows). It seems clear that GIT is the way to go, not that the others are not good but the network effect of momentum that GIT has achieved will be very hard to slow down. GIThub has done a remarkable job (now hosting over a million projects) of providing a continually enriched feature set for software development and collaboration to the point that its is sucking the air out of the room for competing Revision control systems.
Recently BitBucket the leading public Mercurial repository (now hosting about 60,000 projects) has been taken over by Atlassian , which may be able to inject more life into the project. Increasingly the version control systems are able to interoperate so you can use GIT to pull and push to and from Subversion and Mercurial.
I can't say that I have completely worked GIT into my daily workflow, but it is high on my list of things to do. when I need version control for collaboration GIT is the go-to tool I'll be using. You can see my review of Pragmatic Version Control Using GIT on Dzone . GIT is just not that complicated (although it can do some pretty advanced stuff you don't have to). Just get on with it and get going with GIT!