class: center # Version Control How to benefit from git when sciencing --- class: center bigger 1. why do it 2. what is git 3. how to use it --- class: grid-1-1 # why
Schotter | Georg Nees © Victoria and Albert Museum, London
.bigger[ track cohesive changes
with context ] --- class: grid-1-1 bigger # why
Schotter | Georg Nees © Victoria and Albert Museum, London
-- - collaboration -- - reproducibility -- - experimentation --- class: grid-1-1 bigger # what
unknown © Victoria and Albert Museum, London
-- - a history of changes -- - that build on each others -- - with context, author info and unique ids --- class: center ![](./images/git-folder-1.svg) --- class: center ![](./images/git-folder-2.svg) --- class: center ![](./images/git-folder-3.svg) --- class: center ![](./images/git-folder-4.svg) --- class: center ![](./images/git-folder-5.svg) --- class: center ![](./images/git-folder-6.svg) --- class: center ![](./images/git-folder-7.svg) --- class: center ![](./images/workflow-1.svg) --- class: center ![](./images/workflow-2.svg) --- class: center ![](./images/workflow-3.svg) --- class: center # an illustrative demonstration [interactive git sandbox](https://git-school.github.io/visualizing-git/) ??? - committing - branching - visiting the past - pulling other peoples changes --- class: center ![](./images/workflow-4.svg) --- class: center ![](./images/workflow-5.svg) --- class: center # lets use the command line ??? - init - status - add - commit --- class: grid-1-1 bigger # what next
Bated Breath | Cornelia Parker © Victoria and Albert Museum, London
-- - use it -- - keep commits small -- - start each change from a clean state --- class: grid-1-1 # things to try
Jug | Walter Keeler © Victoria and Albert Museum, London
-- - keep data and plots together -- - collaborate on content (txt, markdown, latex) -- - share code with others -- - include git sha in outputs --- class: grid-1-1 bigger # caveats
Netsuke | Ohara Mitsuhiro & Kaigyokusai Masatsugu © Victoria and Albert Museum, London
-- - it is designed for text files (see [git-lfs](https://git-lfs.com/) for large files) -- - avoid accidental noise (see [.gitignore](https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository#_ignoring)) -- - avoid long lived branches --- class: center # Thank you for your time