28 Git
28.1 What’s git?
Git is a free and opensource version control system
- commonly used through a server
- where a master copy of a project is kept
- can also be used locally
 
- allows storing versions of a project
- syncronisation
- consistency
- history
- multiple branches
 
28.2 How git works
A series of snapshots
- each commit is a snapshot of all files
- if no change to a file, link to previous commit
- all history stored locally

by Scott Chacon and Ben Straub, licensed under CC BY-NC-SA 3.0
28.3 Three stages
When working with a git repository
- first checkout the latest version
- select the edits to stage
- commit what has been staged in a permanent snapshot

by Scott Chacon and Ben Straub, licensed under CC BY-NC-SA 3.0
28.4 Basic git commands
- git clone- copy a repository from a server
 
- git fetch- get the latest version from a branch
 
- git pull- incorporate changes from a remote repository
 
- git add- stage new files
 
- git commit- create a commit
 
- git push- upload commits to a remote repository
 
28.5 Git and RStudio
RStudio includes a git plug-in
- clone R projects from repositories
- stage and commit changes
- push and pull changes
