It has been several years since I started as a student in biochemistry with my first laptop (Windows XP) and feeling like an expert in MS Word, Excel and PowerPoint. I quickly became addicted to ChemDraw and its access to chemical databases. But soon Windows started to bully me with blue screens, strange error codes and a complete loss of the file system. As there is only one campus in Ulm and the student councils of biology, electrical engineering, chemistry, and computer science have had a joint office I always was in contact with students in computer science advising me to try Ubuntu. Well, I did and I stayed with Linux-based operating systems since.
I was missing ChemDraw but there was OpenOffice as replacement for MS Office and I was happy with Gnome as desktop environment. Still it was a problem writing documents together with other students as they were using MACs, Windows XP, Windows NT, Windows Vista and different versions of MS Office until a fellow student of mine introduced us to LaTex. Problem solved!
But I actually was planning to write something about git: starting to get interested in computer science I applied for a placement at the group for Bioinformatics & Systems Biology. The awesome guys there recommended me to use OCaml as programming language for my project, Emacs as an editor and Git to keep track on my development.
Using git I was very happy committing, branching and merging but felt really strange because computer scientists in my surrounding usually are talking about SVN and NetBeans vs. Eclipse or VisualStudio. They compare Java with C/C++, preaching Python or developing huge applications with C#.
My first personal encounter with SVN I avoided by using git-svn that enabled me to fetch and push from a local git repository on my laptop to the department’s SVN server. But this year there was a huge team project forcing me to use C# with VisualStudio and SVN. Within the project my fellow students told me strange things like: do not work at the same time to avoid producing conflicts, commit about every some hours and there is no sense in using tags.
This made me read the book titled Pragmatic Version Control using Subversion proving this statements wrong, but I still had no idea how to commit changes while traveling without internet connection or keeping local branches to track the development of an idea until it should be merged with the master branch using SVN.
So I was wondering how it would feel going the other way… starting with SVN and trying to work with git. Last week I stumbled upon the inspiring blog post by Ozh titled So, I’ve Tried Git. And it’s… Reading his amusing blog post I got a feeling how it would have gone the other way, so thank you for that!