Version Control in Bioinformatics Our Experience Using Git Neil Saunders MATHEMATICS, INFORMATICS AND STATISTICS www.csiro.au
Jan 18, 2015
Version Control in BioinformaticsOur Experience Using Git
Neil Saunders
MATHEMATICS, INFORMATICS AND STATISTICSwww.csiro.au
Version Control: Slide 2 of 21
Genesis - Yammer
Version Control: Slide 3 of 21
Why?
Surely everyone uses version control?
Version Control: Slide 4 of 21
Evolution of a self-taught programmer
“One file, no versions”
Version Control: Slide 5 of 21
Evolution of a self-taught programmer
“Versions as multiple files”
Version Control: Slide 6 of 21
Evolution of a self-taught programmer
Version Control!
Version Control: Slide 7 of 21
Choices
http://en.wikipedia.org/wiki/Comparison of revision control software• lists 34 software packages• of which 26 are “actively developed”• and 10 use the distributed repository model
Version Control: Slide 8 of 21
Git
http://git-scm.com/
Version Control: Slide 9 of 21
Start with a good file hierarchy
and a good .gitignore file
Version Control: Slide 10 of 21
Initialize the repository
git init
Version Control: Slide 11 of 21
Add files
git add .
Version Control: Slide 12 of 21
Commit changes
git commit -a -m “Initial commit”
Version Control: Slide 13 of 21
That may be all you need
Version Control: Slide 14 of 21
Repositories
Redmine + Gitolite
Version Control: Slide 16 of 21
Pushing to a remote repository
git push origin master
Version Control: Slide 17 of 21
Updating from a remote repository
git fetch origingit pull origin
Version Control: Slide 18 of 21
More advanced - all Git commands
Version Control: Slide 19 of 21
Github: social coding
Version Control: Slide 20 of 21
BioMed Central + Github
http://blogs.biomedcentral.com/bmcblog/2013/02/28/github-and-biomed-central/