diff --git a/basics.html b/basics.html
new file mode 100644
index 0000000000000000000000000000000000000000..fc684cf48cb6aa90c537ba2e0f910018c00c581d
--- /dev/null
+++ b/basics.html
@@ -0,0 +1,174 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="author" content="Dirk Sarpe and Christian Krause" />
+    <title>git basics</title>
+    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
+    <link rel="stylesheet" href="reveal.js/css/reveal.css"/>
+    <link rel="stylesheet" href="reveal.js/lib/css/zenburn.css" />
+    <style type="text/css">code{white-space: pre;}</style>
+    <link rel="stylesheet" href="reveal.js/css/theme/black.css" id="theme" />
+  </head>
+
+  <body>
+
+    <!-- start of slides -->
+
+    <div class="reveal">
+      <div class="slides">
+        <section id="title" data-markdown>
+          # git basics
+
+          note:
+          - if you have questions ask them right away
+          - hand out cheat sheets
+        </section>
+
+        <section>
+          <section id="intro" data-markdown>
+            # intro
+          </section>
+
+          <section id="motivation" data-markdown>
+            ## motivation
+
+            > Why should I use git?
+
+            - boss
+            - project version history
+            - project management
+            - show scenarios
+          </section>
+
+          <section id="avoid" data-markdown>
+            ## motivation
+            ### avoid this
+
+            ![blah](img/draft_mess.png)
+          </section>
+
+          <section id="avoid" data-markdown>
+            ## motivation
+            ### want this
+
+            ![blah](img/gitk-pretty-history.png)
+          </section>
+
+          <section id="audience" data-markdown>
+            ## audience
+
+            - beginner-level git users
+          </section>
+
+          <section id="goals" data-markdown>
+            ## goals
+
+            - get you started
+          </section>
+
+          <section id="cheatsheet" data-markdown>
+            # [cheat sheet](https://idiv-biodiversity.github.io/git-cheat-sheet/)
+          </section>
+        </section>
+
+        <section>
+          <section id="start" data-markdown>
+            # let's get started
+          </section>
+
+          <section id="cli" data-markdown>
+            ## command line
+
+            - Ellen Ripley uses command line
+            - Chuck Norris uses command line
+          </section>
+
+          <section id="os" data-markdown>
+            ## os packages
+
+            **Linux:** bash and git
+
+            **Mac:** bash and git
+
+            **Windows:** cmder
+          </section>
+
+          <section id="setup" data-markdown>
+            ## setup
+
+            ```bash
+            # identity
+            git config --global user.name  'Jane Doe'
+            git config --global user.email 'jane.doe@feminism.org'
+
+            # colors
+            git config --global color.ui auto
+
+            # aliases
+            git config --global alias.unstage 'reset HEAD --'
+            git config --global alias.lol \
+              'log --graph --decorate --oneline --all'
+            ```
+          </section>
+
+          <section id="demo" data-markdown>
+            ## my project
+
+            demo
+
+            notes:
+            - git init hello
+            - README.md
+            - LICENSE
+            - TODO really talk about licenses? I should, because it's
+              important, but it takes time away from other things ...
+            - src/hello.py
+          </section>
+        </section>
+
+        <section id="webapps" data-markdown>
+          ## web apps
+
+          - GitHub demo
+          - GitLab demo
+        </section>
+
+        <section id="eof" data-background="img/trex.png">
+          <h1>EOF</h1>
+        </section>
+      </div>
+    </div>
+
+    <!-- end of slides -->
+
+    <script src="reveal.js/lib/js/head.min.js"></script>
+    <script src="reveal.js/js/reveal.js"></script>
+
+    <script>
+      Reveal.initialize({
+        controls: true,
+        progress: true,
+        slideNumber: true,
+        history: true,
+        center: true,
+        keyboard: true,
+        maxScale: 1.5,
+        slideNumber: false,
+        theme: Reveal.getQueryHash().theme,
+        transition: Reveal.getQueryHash().transition || 'default',
+
+        dependencies: [
+          { src: 'reveal.js/lib/js/classList.js', condition: function() { return !document.body.classList; } },
+          { src: 'reveal.js/plugin/zoom-js/zoom.js', async: true, condition: function() { return !!document.body.classList; } },
+          { src: 'reveal.js/plugin/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } },
+          { src: 'reveal.js/plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
+          { src: 'reveal.js/plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
+          { src: 'reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
+        ]
+      });
+    </script>
+  </body>
+</html>
diff --git a/img/gitk-pretty-history.png b/img/gitk-pretty-history.png
new file mode 100644
index 0000000000000000000000000000000000000000..14e56f89ed88ad1f4feaf1e36c5dd173592cd1d5
Binary files /dev/null and b/img/gitk-pretty-history.png differ