/git-basics-presentation

A presentation about Git basics - including a slideshow created with reveal.js and a storyboard for a little live coding session.

Primary LanguageHTMLMIT LicenseMIT

git-basics-presentation

A presentation about Git basics - including a slideshow created with reveal.js and a storyboard for a little live coding session. Everything is Dockerized so don't worry about installing reveal.js, we are just using it in order to modify this slideshow during a live coding session, and see what happen.

Table of content

  • Installation: step-by-step instruction to getting this presentation running on your computer.
  • Storyboard: see what this presentation is about and how the coding session goes.

Installation

  1. Clone this repository
$ git clone https://github.com/cdue/git-basics-presentation.git

For windows users using docker-machine (not for those using docker inside a Linux based VM) : Take care to clone this repository in your Windows User directory (example: /c/Users/[username]/my_projects/), otherwise the project directory won't be available as a mounted volume in the reveal.js docker container, which won't allow you to see live what you are modifying (too bad for a live coding session...).

Note: for windows users (using docker-machine), no need to use 'sudo' in the following commands.

  1. Get the Docker image :
  • easy way:
$ sudo docker pull cdue/revealjs:latest
  • or a bit more complicated (build it from the given DockerFile):
$ sudo docker build -t "cdue/revealjs:latest" .
  1. Run the Docker container
$ docker run -d -v $(pwd):/slides/ -p 8000:8000 "cdue/revealjs:latest"

This will also mount a volume (/slides/) on your container so that reveal.js can use the content of current directory.

Note: Windows user may add a '/' before $(pwd)

  1. Verify installation Now that you ran the reveal.js container, you should be able to load the slideshow in your web browser.

If your OS is Linux based, you can access your slides at : http://127.0.0.1:8000

But if your running Windows, you need to get the docker-machine VM IP with:

$ docker-machine ip [your VM: default / my-default / ...]

and then use it: for example: http://192.168.59.103:8000

If you don't know your VM name, use:

$ docker-machine ls
  1. Command line access to your container If for any reason you need to access you reveal.js container, just follow these steps:
  • retreive your container ID or name using:
$ docker ps -a
  • and then run a bash on it with:
$ sudo docker exec -i -t [id or name] bash

Presentation

Speaker notes

If you used the provided DockerFile then you're running reveal.js on a local web server, which mean you can use the Speaker notes mode. Press 'S' key on your keyboard and you'll get another browser window containing the slide you're presenting, a preview of next slide, a timer, and (wait for it...) you speaker notes!

Storyboard

  • Slides 1, 1/1: What is Git?
  • Slides 2 to 2/2: Git VS older VCSs
  • Slides 3, 3/1: The Git 3 states
  • Slide 4: Command line or GUI?
  • Slides 5 to 5/7: Git workflows (Centralized, Feature Branch, GitFlow, Forking, Branch Per Feature)
  • Slides 6 to 6/3: Pull request
  • Slides 7 to 7/2: Migrating from SVN to Git
  • Slides 8, 8/1: Fake end...
  • Slides 9 to 9/3 (needs a branch switch): "working with branches" demo
  • Slide 10: Introducing "working with commits" demo
  • Slides 11 to 11/2 (needs a branch switch): "working with commits" demo
  • Slides 12, 13: Introducing "learn git magic" demo
  • Slides 14 to 14/2, 15, 16 to 16/2 (needs a branch switch): "git bisect" demo
  • Slide 17: Introducing "git rebase" demo
  • Slides 18 to 18/4, 19 (needs a branch switch): "git rebase" demo
  • Slides 20, 21: The End...