# git

## Setup
- Login with your username found on your name badge and set the initial password for your account:  https://git.aspp.school/user/login
- You'll have to type that password many many times this week: choose wisely!
- We will use the [exercise](exercise.md) in the repo for the rest of the lecture

## A cautionary quote

> My first instinct is to sell all my computers, fake my own death, move to another planet, and reinvent computing from scratch, rather than try to understand Git.
> 
>    I rarely actually do that, mind you. But the urge is there.

— Lars Wirzenius (Linux kernel developer)

## Lecture notes

… will follow after the lecture …

## Scenarios
1. [lone scientist](scenarios/scenario1.png) working alone in the cellar without Internet (local git)
2. [lone scientist](scenarios/scenario2.png) uploading their software to the Internet in the hope it can be useful for other people (local git + one personal GitHub repo)
3. [lone scientist](scenarios/scenario3.png) sharing one software project with some other befriended lone scientist working in a different place (local git + one personal GitHub repo + permissions)
4. [research group](scenarios/scenario4.png) sharing software among members (local git + several GitHub repos + permissions + branches + [optional] PRs)
5. [fully distributed software development](scenarios/scenario5.png) using the most typical open source software workflows as used by numpy, scipy, sklearn, etc. (like above + we don't trust our contributors, i.e. work strictly with forks)
