## git-intro
All times CET/CEST
* day 1: primarily Github
* morning: (DI leads/demos, RD questions)
* Daily intro, Intro, 00 min (SW, RD)
* 9:20 Overview, 5 min (RD)
* Say: Day 1 github, day 2 vscode/cmd line, day 3 either
* New form so that we can
* 9:25 Motivation, 8 min (RD)
* 9:33 Configuration, 2 min (RD)
* Don't go over details, just a reminder "you should have done this, if not, you will see a warning and do this in the exercise"
* Browsing existing (via Github) (DI)
* 9:35 intro, 5 min
* Easier to see example first
* You may modify a project more often than you make your own
* Fork = own copy. Use this as start.
* Know fork vs upstream! Always.
* 9:40 exercise intro, 3 min
* This is a really simple intro to what you see in a project
* Not what you normally do (but you do do it sometimes)
* You may try cmd line / vscode but we don't support now.
* 9:43 exercise, 20 min
* Fork repo and do basic history inspection
* 10:03 going over exercise, 8 min
* All these features can be good for you and good for groups.
* 10:10 break, 10 min
* Committing (via Github) (DI)
* 10:20 intro, 5 min
* You want to make changes.
* You see all the parts: titles, messages, commit hashes, history graph, etc.
*
* 10:25 exercise intro, 3 min
* We do this by web - not realistic but easy to see
* 10:28 exercise, 20 min
* Create a commit in your own repo, look at history to know what happened
* 10:48 going over exercise, 10 min
* It's not so complex. All this history is good for reproducibility and future work.
* afternoon (DI leads/demos, GD questions)
* 12-13:30, break 12:45-12:55
* Merging (via Github, cmd line on day 3) (DI)
* 12:00 Recap and intro, 10 min
* What if you want to make a change, but you can't do directly (not your project, not sure about it, etc)
* Github/Gitlab provides a way to propose + discuss + accept
* This is very, very useful for larger project.
* 12:10 Demo, 3 min
* Create our PR and show it.
* 12:12 Exercise intro, 2 min
* 12:15 Exercise (merging), 20 min
* Create PR to your own repository (that was forked in the morning)
* Understand what PRs are about
* 12:35 Going over exercise, 5 min
* Propsoal first, review, accept
* 12:40 More discussion of PRs, 5 min
* When to use. When not to use.
* 12:45 Q&A from notes, 5 min
* 12:50 Break, 10 min
* 13:00 Demonstration of creating a PR conflict, 10 min
* Instructors set up during demo
* Remember to show situation: files changed view,
* 13:10 Summary, big picture, Q&A, News, 16 min
* day 2: (RD leads, DI types)
* morning:
* 09:00 daily intro, 5 min
* Local work (command line)
* 09:05 Intro, 10 min
* 9:15 Exercise intro, 5 min
* 9:20 Exercise: cloning, 25 min
* 9:45 going over exercise, 10 min
* 9:55 break, 10 min
* Inspecting history (cmd line)
* 10:05 Intro, 2 min
* 10:07 Demo, 10 min
* 10:15 Exercise, 20 min
* 10:35 Exercise Q&A, 10 min
* afternoon:
* Sharing work (cmd line/vscode)
* 12:00 Intro, 10 min
* 12:10 Exercise intro, 5 min
* 12:15 Exercise, 20 min
* 12:35 going over exercise, 5 min
* 12:40 Q&A, 5 min
* Practical advice: how much is necessary
* 12:45 10 min
* 12:55 Break, 10 min
* 13:05 Q&A, 5 min
* What to avoid
* 13:10, 7 min
* General Q&A
* ??? remainder
* day 3
* morning:
* afternoon:
2024 september day 1 editlist:
```yaml=
- start: 00:39:15
- -: 'Overview of the day'
- 00:45:00: '§ Motivation to version control'
- 00:55:59: '§ Browsing an existing project'
- 01:01:07: 'Exercise introduction (Browsing)'
- stop: 01:04:05
- start: 01:23:24
- -: 'Exercise follow-up (Browsing)'
- stop: 01:24:21
- start: 01:34:30
- -: 'Going through the exercise (Browsing)'
- 01:42:38: '§ Committing changes'
- 01:47:26: 'Exercise introduction (Committing)'
- stop: 01:50:04
- start: 02:08:21
- -: 'Going over the exercise (Committing)'
- stop: 02:18:20
# lunch
- start: 03:13:35
- -: 'Quick recap so far (and Q&A)'
- 03:15:29: '§ Merging changes'
- 03:23:28: 'Demo of the exercise topcis (Merging)'
- 03:26:20: 'Exercise introduction (Merging)'
- stop: 03:28:34
- start: 03:48:38
- -: 'Going over the exercise (Merging)'
- 03:56:49: 'Looking at more pull requests and discussing what this all means'
- 04:01:19: 'Q&A from notes'
- stop: 04:09:48
- start: 04:19:30
- -: 'Demonstration of creating a pull req conflict'
- 04:21:45: 'Create new branch and add commit'
- 04:23:20: 'Create new commit on main branch'
- 04:24:04: 'Create a new pull request from new branch → main branch and discuss'
- 04:25:56: 'Try to resolve the conflicting change'
- 04:28:08: 'Summary'
- 04:30:27: 'Big picture of the day'
- 04:31:51: 'Q&A, feedback of the day'
- 04:41:24: 'News of day 1, preparation for day 2'
- stop: 04:44:30
```
Day 2 editlist:
```yaml=
- start: 00:20:28
- -: Starting words
- 00:24:55: '§ Cloning a git repository and working locally'
- 00:34:40: 'Exercise introduction (cloning)'
- stop: 00:39:13
- start: 01:04:01
- -: 'Exercise Q&A (cloning)'
- 01:05:14: 'Going thourgh exercise solution'
- stop: 01:16:39
- start: 01:25:51
- -: 'A bit more Q&A (and comparison of GitHub, VSCode, and command line)'
- 001:28:56: '§ Inspecting history'
- 01:30:05: 'Demonstration of the exercise topics'
- 01:40:36: 'Exercise introduction (inspecting history)'
- stop: 01:44:35
- start: 02:04:23
- -: 'Exercise Q&A (inspecting history)'
- stop: 02:13:54
- start: 03:11:23
- -: "Back from break, more comments on previous exercise"
- 03:13:05: '§ How to turn your project into a Git repo and share it'
- 03:25:42: 'Exercise introduction (sharing)'
- stop: 03:27:44
- start: 03:51:00
- -: 'Exercise Q&A (sharing)''
- 03:52:13: 'Thoughts on publishing work'
- 03:55:33: '§ Practical advice: how much git is necessary? (general Q&A)'
- stop: 04:07:58
- start: 04:17:46
- -: 'General discussion and Q&A session'
- 04:23:38: '§ What to avoid'
- 04:30:17: 'Feedback of the day and more discussion'
- 04:31:33: 'Preparation for day 3'
- stop: 04:39:17
```