Introduction to Git and GitHub Patrick Kimes, PhD Postdoctoral Fellow Dana-Farber Cancer Institute Harvard TH Chan School of Public Health Data Science Seminar November 27, 2018
GitHub GitHub cloud service for hosting Git repos /somewhere/on/my/computer/sigclust2/ https://github.com/pkimes/sigclust2/ Git software for managing files in a folder (repo)
rnaseq-analysis-update2-final.R rnaseq-analysis.R rnaseq-analysis-update.R rnaseq-analysis-update2.R rnaseq-analysis-update2-final-pkk.R “I already have a system” ad infinitum…
rnaseq-analysis.R rnaseq-analysis.R rnaseq-analysis.R rnaseq-analysis.R rnaseq-analysis.R version control software “I already have a system” ad infinitum… rnaseq-analysis-update2-final.R rnaseq-analysis.R rnaseq-analysis-update.R rnaseq-analysis-update2.R rnaseq-analysis-update2-final-pkk.R
version control software Git history of files is stored as a series of commits rnaseq-analysis.R rnaseq-analysis.R rnaseq-analysis.R rnaseq-analysis.R rnaseq-analysis.R
version control software Add new analysis Update analysis parameters Try new method Remove older results commit 6e40a27cb9415fd98fa3ef068efbb5e22eb7d497 Author: First Last Date: Sun Nov 18 11:10:25 2018 -0500 Clean up notes for release rnaseq-analysis.R
rnaseq-analysis.R more commonly visualized horizontally Add new analysis Update analysis parameters Try new method Remove older results Clean up notes for release
rnaseq-analysis.R Add new analysis Update analysis parameters Try new method Remove older results Clean up notes for release inspect a diff between two commits
rnaseq-analysis.R Add new analysis Update analysis parameters Try new method Remove older results Clean up notes for release commit best practices 1. commits should be complete
1. commits should be complete 2. commit messages should be meaningful commit best practices https://xkcd.com/1296/ https://chris.beams.io/posts/git-commit/
GitHub cloud service for hosting Git projects GitHub git repo git repo remote hosted copy of a repo local remote push/pull sync commits between local/remote push
GitHub cloud service for hosting Git projects GitHub git repo git repo remote hosted copy of a repo local remote push/pull sync commits between local/remote pull push
push/pull sync commits between local/remote GitHub cloud service for hosting Git projects GitHub git repo git repo git repo remote pull push local local remote hosted copy of a repo pull push
repo folder of files; a Git project commit snapshot of files in a repo Git version control software for managing files in a folder GitHub cloud service for hosting Git projects remote remote copy of repo push/pull sync commits between local/remote