Git Workshop

Dirk Sarpe & Christian Krause

## Poll # Why are you here? Note: - Someone (like us) told you it ~~might be~~ **is** useful. - You never took the time to really learn it. - You already know and use it, want to show off / learn new tricks. - Somebody forced you to come here. - You wanted to get away from your desk for once and maybe take a nap.
# Outline 1. Intro 2. Git Commands 3. GitLab / GitHub 4. Workflows Note: - jeder Block ~ 1.5h - insgesamt 2h mit Pause - 8h - ein ganzer Tag git - ein-satz-beschreibungen zu den abschnitten - 0. why vcs, why git, getting started with git - 1. git basics - 2. web collaboration tools - 3. how to collaborate in organized manner
## Block 1 # Introduction Note: - quickly talk about block outline - why vcs? why git? - installation git client - setup GitLab / GitHub accounts - getting started with git (try git)
### Have you ever seen this? ![foo](img/draft_mess.png) Note: - Dirk erklärt seine mess - wouldn't it be nicer to have
### wouldn't it be nicer to have # version control ``` Dirk Sarpe 14 minutes ago fix reference Dirk Sarpe 5 days ago adapt figures to nature Christian Krause 6 days ago add figure captions Dirk Sarpe 7 weeks ago adds mean values to analysis Christian Krause 7 weeks ago adds abstract ``` Note: - git log --pretty=format'%an %ar %s' - and as you can see not only for source code
## have you ever ... - review history (see diff) - wanted to go back in time - maintain multiple versions - hint: for different journals - try things out without breaking what works Note: -
## have you ever ... - collaborate - who made that error - see project progress - lost code (no backup) Note: -
# yes? Note: -
# use vcs! Note: -
## Block 1 # git Note: -
![git](img/what-is-git.jpg) Note: -
![git](img/what-is-git-answer.jpg) Note: -
![git](img/say-what.jpg) Note: -
## what is git? (2nd try) ### seriously # TODO image gitk all, visual representation of git parent child tree with remotes, tags, good commit messages, etc. mit local change der remote noch nicht da ist Note: - am bild dvcs erklären!
![git](img/idontalwaysusevcs.jpg) Note: -
## Why do we all use git? #### non-technical - any workflow - collaboration - experimentation - undo mistakes - state of the art (best tool for the job) - all the cool kids do it Note: -
## Why do we all use git? #### technical - never lose data (not just remote but also file integrity) - easy conflict resolution - local (your own copy of everything) - implies speedy gonzales Note: -
### Block 1 ## Git Demo Note: - vorher fragen, wer alles client braucht und noch accounts braucht, damit wir wissen, wieviel zeit wir uns für try git nehmen können - config - init - git add foo bar - git commit -m 'foo bar' - prima
### Block 1 ## Checking Prerequisites - GitHub / GitLab account - local git client installation - bonus: your own project without VCS Note: - wenn git client selbst nicht aufsetzen kann, dann bitte halbe stunde früher - registration to the course - git client includes your own notebook
## - Note: -
# VCS for me - Note: -
## - Note: -
# - Note: -
## - Note: -

EOF