Anton Antonov (@tonytonov)
Science isn't about why -- it's about why not
Keep calm
&
adopt a cat
technologies
Q: Is it going to hurt?
A: Yes
Are designed to synchronize files
Git is a VCS (version control system)
created by Linus Torvalds, 2005
Git contains full project evolution
in a series of filesystem snapshots
Git is open source, reliable, secure and fast,
making it a de-facto standard for developers
Git is a sufficiently advanced technology,
therefore it's magic*
*Arthur C. Clarke
repository project folder
commit save snapshot
script.R
script_rev2.R
script_rev6_comments.R
script_rev22_ver5_latest.R
script.R
script.R
script.R
script.R
commit
commit
commit
script.R
script.R
script.R
script.R
commit
commit
commit
John Doe, 13:37 04/10/17
"Changed NA handling"
John Doe, 20:17 04/10/17
"Fixed incorrect input
(now using character, not factor)"
John Doe, 00:42 05/10/17
"ggplot style tweaked via theme()"
remote repository that is somewhere else
pull grab commits from remote
clone initial pull from remote
push send commits to remote
remote
1. clone
2. commit
3. push
1. clone
4. pull
Alternatives: Git clients (SourceTree, etc.), terminal
diff
fork make a copy of GitHub repo
pull request send changes from fork to original repo
A great way to share R code
Learn by observing
Pros
Cons
Thank you!