GitHub is a great online repository and version control platform for your code. I’ve only started using it recently and I really like it so far. The only downside is that their free account does not allow for private repositories. This is a bit not good if you want to work on code for a research project that is really not finished.
I’m writing code right now for 2 research papers, and I did not use GitHub because I didn’t want them to be public until the papers went to review, or were accepted for publication. Previously I had restricted my GitHub usage to hosting code associated with previous papers, such as how to calculate energy efficient receptive fields. And this was frustrating because I wanted to use the cool features of GitHub to make writing my in-development code much easier.
But this is no longer a problem for academic users. You can go request a free educational upgrade to the micro account. I got my upgrade fairly quickly after I made the request, so now I have up to 5 private repo’s. This is really going to make in development code much easier. Once the papers become accepted, the repos can be made public, and the steps described here can be followed to save a citable static snapshot of the code (with it’s own doi).
If you don’t yet know why you might want to use GitHub alongside your research related coding, then Tom Wallis has a great series of posts, such as this one on Version Control. There are also some excellent guides created by GitHub at help.github.com