• 1 How to organise your project directories
    • 1.1 Directory layout
      • 1.1.1 The general disaster
      • 1.1.2 A niceR solution
      • 1.1.3 Treat data as read only
      • 1.1.4 Treat generated output as disposable
      • 1.1.5 Separate function definition and application
    • 1.2 Setting up a project in RStudio
  • 2 Version control
    • 2.1 Why use version control?
      • 2.1.1 You are already using version control
      • 2.1.2 Version control is not a back up
    • 2.2 Basic git configuration
      • 2.2.1 Keeping your email private
      • 2.2.2 Line Endings
      • 2.2.3 Configure your text editor
      • 2.2.4 Other editors
    • 2.3 Git basics
      • 2.3.1 What goes in my repository?
      • 2.3.2 The commit cycle
      • 2.3.3 Creating a repository
      • 2.3.4 The add-commit cycle
      • 2.3.5 History
      • 2.3.6 Looking at the history
    • 2.4 Branching
      • 2.4.1 What do branches look like?
      • 2.4.2 Workflows that use branches
      • 2.4.3 Listing branches
      • 2.4.4 Creating branches
      • 2.4.5 How branches grow
      • 2.4.6 Merging branches back together
      • 2.4.7 Merging when branches have diverged
      • 2.4.8 Branches and old versions
      • 2.4.9 Concluding remarks
    • 2.5 Further reading material
  • 3 Lecture slides
  • 4 Resources for pracs
  • 5 Acknowledgements

Organised, transparent and reproducible science using R, git, and drake

3 Lecture slides

  • Day 1: Open Science

  • Day 2: Reproducibility