{"id":20664921,"url":"https://github.com/katrinleinweber/git-for-bio-scientists","last_synced_at":"2025-04-19T16:26:54.090Z","repository":{"id":29750307,"uuid":"33293905","full_name":"katrinleinweber/Git-for-bio-scientists","owner":"katrinleinweber","description":"Presentation about digital lab journalling with Git","archived":false,"fork":false,"pushed_at":"2022-08-22T13:31:47.000Z","size":7251,"stargazers_count":32,"open_issues_count":1,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-29T10:05:05.094Z","etag":null,"topics":["collaboration","git","git-vocabulary","gitignore","gitlab","science","scientists"],"latest_commit_sha":null,"homepage":"","language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/katrinleinweber.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"katrinleinweber","liberapay":"~1216026"}},"created_at":"2015-04-02T06:49:42.000Z","updated_at":"2025-03-22T08:14:31.000Z","dependencies_parsed_at":"2022-08-22T09:50:20.412Z","dependency_job_id":null,"html_url":"https://github.com/katrinleinweber/Git-for-bio-scientists","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/katrinleinweber%2FGit-for-bio-scientists","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/katrinleinweber%2FGit-for-bio-scientists/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/katrinleinweber%2FGit-for-bio-scientists/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/katrinleinweber%2FGit-for-bio-scientists/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/katrinleinweber","download_url":"https://codeload.github.com/katrinleinweber/Git-for-bio-scientists/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249738144,"owners_count":21318501,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["collaboration","git","git-vocabulary","gitignore","gitlab","science","scientists"],"created_at":"2024-11-16T19:26:59.334Z","updated_at":"2025-04-19T16:26:54.058Z","avatar_url":"https://github.com/katrinleinweber.png","language":"TeX","funding_links":["https://github.com/sponsors/katrinleinweber","https://liberapay.com/~1216026"],"categories":[],"sub_categories":[],"readme":"---\ntitle: Digital Lab Journalling with Git\nauthor: Katrin Leinweber\ndate: 2015-Apr-13\nlicense: CC-BY-4.0 for own content; image attributions in titles\n---\n\n_Slides of this presentation [with recorded audio](http://cdn.podsee.org/konscience/ksl002-digital-lab-journalling-with-git.mp4)_ ([archived notes](http://web.archive.org/web/20200925013644/http://www.konscience.de/2015/04/ksl002-digital-lab-journalling-with-git/))\n\n### Tree of Life\n\n[![](images/doolittle-tree.jpg \"Phylogenetic Classification and the Universal Tree (Ford Doolittle, Science, 1999\")](https://www.science.org/doi/full/10.1126/science.284.5423.2124)\n\n### Tree of Life\n\n[![](images/Horizontal-gene-transfer.jpg \"from Smets \u0026 Barkay (2005) Horizontal gene transfer: perspectives at a crossroads of scientific disciplines\")](http://www.nature.com/nrmicro/journal/v3/n9/fig_tab/nrmicro1253_F1.html)\n\n### Tree of Projects\n\n![](images/Horizontal-info-transfer.png)\n\n### Git tracks digital evolution of files\n\n- highlights exactly what changed, line by line\n- makes you comment file changes\n\n![](images/Git-helps.png)\n\n### Git is your file watchdog.\n\n![](images/watchdog.png)\n\n### Good against: too many files\n\n![](images/versions-win-explorer.png)\n\n### Good for: tidy project folders, but...\n\n![](images/files-in-explorer.png)\n\n### Good for: ...version history still accessible\n\n![](images/file-changes-in-GitHub.png)\n\n### Version control with Git\n\n#### Technical\n\n- works best for line- or paragraph-based files\n- built for source code, but also useful for texts and simple images\n- less useful for complex or large file types\n- not a substitute for full backups\n\n#### Cultural\n\n- helps build self-explanatory \u0026 verifiable project documentation (for your future self, colleagues, students, reviewers...)\n- enables less painful collaboration on same set of files\n- conflicts only if same lines in same file get changed\n- for text files: better than syncing tools\n\n### Basic Git vocabulary: repository/repo\n\n- project folder watched by Git\n- is still a normal folder: add, edit \u0026 delete files normally\n- database of file versions in hidden subfolder\n\n![](images/repo-folder.png)\n\n### Basic Git vocabulary: committing\n\n- saving a logical set of file changes in Git, together with meaningful comment\n- changes can be within single file, or across different ones\n- **commit history:** self-explanatory \u0026 verifiable documentation\n\n### Basic Git vocabulary: .gitignore\n\n- file that contains a repo's rules for ignoring files \n- No preview of highlighted changes? Large file? Auto-generated? Rather ignore those!\n\n[![](images/gitignore-or-not.png \"Making Sense of Multiliteracy under the same context (Sindhu Radhakrishnan, 2010\")](http://edc.education.ed.ac.uk/sindhur/2010/10/17/visual-artefact/)\n\n### Basic Git vocabulary: .gitignore in GitHub for Windows\n\n![](images/windows-gitignore-in-repo-settings.png)\n\n### Vocabulary summary\n\n#### repository/repo\n\n- project folder watched by Git, plus hidden database of file versions\n\n#### committing\n\n- composing logical set of file changes and meaningful commit message\n\n#### .gitignore\n\n- a repo's ignore rules for non-essential files \u0026 file types\n\n### How to start using Git?\n\n1. download client from [windows.github.com](https://windows.github.com/) (any other from [git-scm.com/downloads/guis](http://git-scm.com/download/gui/win)) \u0026 install\n1. start with small sub-project (protocol optimisation, diagram in R, report, etc.)\n1. **besides working on the files themselves:** commit logically connected changes often\n1. **recommended:** start writing texts in Markdown[^1] format\n1. **optional (for collaboration etc.):** create account with Git hosting service like [GitLab](https://gitlab.com/users/sign_in) or [GitHub](https://github.com/join)\n\n[^1]: Possible in Word with [Writage](http://www.writage.com/) add-in\n\n### Thanks to \u0026 Further Reading\n\n##### Writing with Git\n\n- \"[Markdown Basics](https://help.github.com/articles/markdown-basics/#basic-writing)\" and \"[Mastering Markdown](https://guides.github.com/features/mastering-markdown/)\" by [GitHub](https://github.com/)\n- \"[Scientific Markdown](https://github.com/JensErat/scientific-markdown)\" by Jens Erat\n- \"[Paper Now](https://github.com/PeerJ/paper-now#paper-now)\" by [PeerJ](https://peerj.com/)\n\n##### Git in Science\n\n- \"[Git/GitHub: a Primer for Researchers](http://datapub.cdlib.org/2014/05/05/github-a-primer-for-researchers/)\" by [Carly Strasser](http://carlystrasser.net/)\n- \"[We Need a Github of Science](http://marciovm.com/i-want-a-github-of-science/)\" by [Marcio von Muhlen](https://twitter.com/marciovm)\n- \"[Git for Scientists](https://mollygibson.github.io/2014-08-11-wustl/lessons/git-notebook/git-for-scientists.slides.html)\" by [Molly Gibson](https://github.com/mollygibson)\n\n##### Git concepts \u0026 tech\n\n- \"[Learn Version Control with Git](https://www.git-tower.com/learn/git/ebook)\" by [Fournova](http://www.fournova.com/)\n- \"[10 Years of Git: An Interview with Git Creator Linus Torvalds](https://www.linux.com/news/10-years-git-interview-git-creator-linus-torvalds/)\" by [Jennifer Cloer](https://twitter.com/JenniferCloer)\n\n### Thanks for your attention! Questions?\n\n![](images/keep-calm-and-git-it-on.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkatrinleinweber%2Fgit-for-bio-scientists","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkatrinleinweber%2Fgit-for-bio-scientists","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkatrinleinweber%2Fgit-for-bio-scientists/lists"}