4 ms·
I switched from SVN to Git in 2012 (after briefly sampling Mercurial). Git is so much better than SVN for collaboration it's indescribable. Git can be intimida
by cimmanom 9y ago
I switched from SVN to Git in 2012 (after briefly sampling Mercurial). Git is so much better than SVN for collaboration it's indescribable.
Git can be intimidating at first. I recommend reading Git From The Bottom Up before making the change, and encouraging the rest of your team to read it too. It'll give you an understanding of how your code and commits are actually being represented in the repository and what's actually happening behind the scenes when you issue those seemingly magical commands.
Also get a good GUI tool that will let you visualize repository history, which is more important when you start adding more branches. There are a lot of options out there. Also helpful is the ability to pull up such a visualization on the command line (Google for "git lg").
Git is so much better than SVN for branching, collaboration, and experimentation that I could write a book about it (and I'm pretty sure a couple people have).
Expect a temporary slowdown during the learning curve phase. Equip everyone with a cheat sheet for the most common commands. For designers and copy writers who do HMTL/CSS development and don't understand the command line or need to understand the Git internals, there are some dead simple GUIs (Github's desktop client and a handful of others) that they can use comfortably.
Git is a bit more powerful than SVN, and that allows users to get their working copies into unexpected states more easily than SVN, but also makes recovery from those states easier for someone who knows what they're doing. Designate a couple people to learn Git well enough to explain things to others and fix branch problems (learning things like cherry-picking, reset, etc). Set a few rules (never push with a "--force" unless you're one of the designated fixers fixing a problem; never rebase something that's already been pushed).
One of the best things Git does is that by making branching and merging cheap and lightweight it can facilitate agile practices like more frequent smaller deploys and allow people to make local branches off a feature branch to explore different approaches to a problem. Once everyone is comfortable using the VCS, you can start exploring the possibilities.