Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
basics.html 6.11 KiB
<!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="intro-motivation-avoid-mess" data-markdown>
            ## motivation #1
            ### avoid mess

            ![blah](img/draft_mess.png)
          </section>

          <section id="intro-motivation-want-structure" data-markdown>
            ## motivation #1
            ### want structure

            ![blah](img/gitk-pretty-history.png)
          </section>

          <section id="intro-motivation-playground" data-markdown>
            ## motivation #2
            ### throw-away playgrounds

            ![playground](img/motivation-throwaway-playground.svg)

            notes:
            - test stuff without interfering
              - throw away if garbage
              - integrate if good
            - switch back and forth
            - (done right) decision based on regression testing
          </section>

          <section id="intro-motivation-collaboration" data-markdown>
            ## motivation #3
            ### collaboration made easy

            <!-- do not fix this typo -->
            > This text cuntains a typo.

            notes:
            - demo GitLab
              - [go to project](https://git.idiv.de/sc/edu/git-seminar)
              - check if still in master
              - edit
              - change **target branch** to create merge request
            - commit message:
                ```
                fixes typo

                learn how to use a spell checker
                ```
          </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>