Version control: need to learn Git

I consider myself a fan of using version control for bioinformatics/biostatistics (or any text based, like code) project. Yet my knowledge of version control systems is quite limited. I’ve used Mercurial for some time, but I haven’t ventured much beyond the basic commands and some GUIs for merging.

I don’t recall how it all went, but I remember reading that Subversion (SVN) was much better than CVS. Also, the Bioconductor project uses SVN. Before that I really learnt how to use SVN, someone from the Bioconductor devel list pointed me to Git/Mercurial. Around the same time I read “A quick guide to organizing computational biology projects" by William Noble, which further convinced me to start using a version control system. I "educated" (a tiny bit) myself on the topic with Wikipedia’s entries on revision control and distributed revision control.

I wasn’t sure whether to use Mercurial or Git, but at the time Bitbucket only supported Mercurial repositories. It felt pretty easy to use, specially after reading the guide whose examples covered pretty much all I needed. By the way, I highly recommend using Bitbucket now (whether for Mercurial or Git repositories) as they offer unlimited private repositories to anyone with an academic email account.

Now for my Advanced Methods class by Brian Caffo (check out his Mathematical Biostatistics Boot Camp Coursera free online course) I need to learn how to use Git. That lead me to check some Git vs Mercurial posts such as:

Curiosity and another reason lead me to watch the video from above. It helped me to understand the basic differences between Git and Mercurial, plus it reassured me that skipping SVN was a good thing. I might still need to learn SVN properly, but at least through Git-SVN or HgSubversion it seems that I can dodge the bullet.

I’ll come back once I’ve tried out Git, but for now it seems that SourceTree will be a great tool to have. It works with Bitbucket and Github (free for open source, gotta pay for private repositories).

To finish this post, if you are new to the topic you should check out:

Well, even without knowing much about these tools you probably already use some kind of version history thanks to Dropbox and Google Docs. 

PS I found lots of stuff here.