## 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 ```