Why git and github?
Why use git?
Version control is the only reasonable way to keep track of changes in code, manuscripts, presentations, and data analysis projects. I used to make numbered tar.gz files for a project. But exploring the differences is difficult, to say the least. And if you use git properly, you’ll have annotated each small change.
Merging collaborators’ changes made easy. Have you ever had to
deal with a collaborator sending you modifications distributed across
many files, or had to deal with two people having made changes to the same
file at the same time? Painful.
git merge is the answer.
Why use github?
Github is like facebook for programmers. Everyone’s on there. You can look at what they’re working on and easily peruse their code and make suggestions or changes.
It’s really open source. “Open source” is not so open if you can’t easily study it. With github, all of the code is easily inspected, as is its entire history.
Github lowers the barriers to collaboration. It’s easy to offer suggested changes to others’ code through github. I was able to fix a mistake in the phobos library for the D programming language, because it’s hosted on github. I fixed some problems in some very useful code developed by someone I don’t know, because it’s hosted on github.
You don’t have to set up a git server. It’s surprisingly easy to get things set up.
If you’re still not sure about git and github, spend a bit of time looking through the repositories for packages of interest to you. For example:
My own R/qtl
Poke around in the files, and also the commits: Click the “Commits” tab and then click on a given commit to see what changes were made.