I have been using subversion for a while now and I am considering learning and switching to GIT, since it seems to be the majority's preference nowadays.
Nevertheless, one of the biggest advantages of GIT (and source of its complexity) is the capability of being decentralized, each person having its own repository and merging repositories whenever needed. I am not interested in this feature, and actually I want to keep everything centralized on a single server, both for projects on which I work alone, as well as projects where multiple people are expected to have the latest sources at all times stored on the same server, with none or a minimal amount of branches/forks.
Considering this, and that currently most of the development is done on Windows with Visual Studio and also some access is needed from Linux using some simple svn commands, is GIT still a good option? would it be worth switching? what other features does GIT offer that would benefit us?
Let me get this straight.
So, why switch to Git?
I know there's a lot of chatter on Git "being better" than Subversion, but most of that are people who really don't know version control. They see many open source projects use Git and assume that if Linux is using Git, it must be better.
I use both Git and Subversion, and find each one has their strengths and weaknesses.
Git's problems start to show up when you have customer imposed deliverables and release deadlines. Git just doesn't work well with a Continuous Integration environment unless you're on your developers like a mother hen. What happens is that no changes are delivered to the central repository until the end of a release cycle. Then, you're stuck trying to handle incompatibilities, conflicts, and other issues the last few days of a release.
With a centralized repository like Subversion, developers are forced to work together. They make smaller, more incremental changes in their code. With a good Continuous Integration environment, your QA team can pull out intermediate releases and do testing without waiting for a final release.
As a bonus, Subversion has an excellent integration to VisualStudio via AnkhSVN. There's finally a Git Source Code Provider for VisualStudio, but it's dependent upon TortioseGit and to the BASH shell. Meanwhile, AnkhSVN is a completely encapsulated source code provider whose interface is similar as if you were using VisualStudio or TeamFoundation, so VisualStudio developers are quite familiar with it.
So, unless all of your developers want Git, or you plan to use the distributed features of Git, there's really no reason to switch just for the sake of switching.
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