I have started at a new job where I need to implement a version control system from scratch. At my previous job, I implemented version control using Subversion (specifically, Visual SVN Server with TortoiseSVN, AnkhSVN, and SubClipse clients).
I have heard a lot about Git recently, but I have never used it. Most articles I'm reading online say that Git is better than Subversion. I'm not asking which is better here, so please leave those comments to yourselves.
In terms of my environment, I am the lead developer in a small GIS firm. We mostly work with Python scripts and occasionally plugin tools written in .Net. There are a couple others here that work with Python scripts and would also be working under version control. Recently, I began working on my first web application (HTML/Javascript) that should also be under version control. We are all working in a strictly Windows environment using both proprietary and open source software and API's.
I have 2 questions:
Question 1a. Is it worth the time and effort to learn Git?
Yes, it's a very popular VCS and the poster child for DVCS. Anyone who spends more than 5 minutes a day thinking about Source Control should at least take a look at GIT and see what it has to offer, it's strengths and weaknesses.
Question 1b: Is it worth the time and effort implementing Git?
The fundamental difference between Git and Subversion is that Git is a distributed version control system where as Subversion is not. So, unless your workflow involves you having people, who are not in the same location but work on the same code base as you, SVN should pretty much cover meet all your SCM needs.
Migrating to Git because of the hype is not a wise decision, besides, the Git workflow is very different from Subversion and it will require your team to get used to it, which at times can be a steep learning curve for many developers
Question 2: Best Resource for learning Git
This is really subjective but the Git manual is a very good start as @Lucas mentioned. My recommendations below in order of preference:
I introduced git at one company where I worked. Yes, it was worth it. Git is faster. Git has better branching and merging support (including private branches). Git includes features that boost productivity such as bisect and rebase. Git did have a learning curve - it takes time to get used to it. Even with that, it was worth it.
Yes, there's a lot of hype around git, but the presence of hype doesn't demonstrate lack of benefit any more that it demonstrates the presence of benefit.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With