Skip to content

katrinleinweber/Git-for-bio-scientists

Repository files navigation

title author date license
Digital Lab Journalling with Git
Katrin Leinweber
2015-Apr-13
CC-BY-4.0 for own content; image attributions in titles

Slides of this presentation with recorded audio (archived notes)

Tree of Life

Tree of Life

Tree of Projects

Git tracks digital evolution of files

  • highlights exactly what changed, line by line
  • makes you comment file changes

Git is your file watchdog.

Good against: too many files

Good for: tidy project folders, but...

Good for: ...version history still accessible

Version control with Git

Technical

  • works best for line- or paragraph-based files
  • built for source code, but also useful for texts and simple images
  • less useful for complex or large file types
  • not a substitute for full backups

Cultural

  • helps build self-explanatory & verifiable project documentation (for your future self, colleagues, students, reviewers...)
  • enables less painful collaboration on same set of files
  • conflicts only if same lines in same file get changed
  • for text files: better than syncing tools

Basic Git vocabulary: repository/repo

  • project folder watched by Git
  • is still a normal folder: add, edit & delete files normally
  • database of file versions in hidden subfolder

Basic Git vocabulary: committing

  • saving a logical set of file changes in Git, together with meaningful comment
  • changes can be within single file, or across different ones
  • commit history: self-explanatory & verifiable documentation

Basic Git vocabulary: .gitignore

  • file that contains a repo's rules for ignoring files
  • No preview of highlighted changes? Large file? Auto-generated? Rather ignore those!

Basic Git vocabulary: .gitignore in GitHub for Windows

Vocabulary summary

repository/repo

  • project folder watched by Git, plus hidden database of file versions

committing

  • composing logical set of file changes and meaningful commit message

.gitignore

  • a repo's ignore rules for non-essential files & file types

How to start using Git?

  1. download client from windows.github.com (any other from git-scm.com/downloads/guis) & install
  2. start with small sub-project (protocol optimisation, diagram in R, report, etc.)
  3. besides working on the files themselves: commit logically connected changes often
  4. recommended: start writing texts in Markdown1 format
  5. optional (for collaboration etc.): create account with Git hosting service like GitLab or GitHub

Thanks to & Further Reading

Writing with Git
Git in Science
Git concepts & tech

Thanks for your attention! Questions?

Footnotes

  1. Possible in Word with Writage add-in