Skip to content
Snippets Groups Projects
Select Git revision
  • master
1 result

README.md

Blame
  • Forked from an inaccessible project.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    basics.html 9.59 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" />
        <link rel="stylesheet" href="css/fork-me-ribbon.css" />
      </head>
    
      <body>
    
        <!-- start of slides -->
    
        <div class="reveal">
          <div class="slides">
            <section>
              <section id="title" data-markdown>
                # git basics
                ## for beginner-level git users
    
                notes:
                - if you have questions ask them right away
                - hand out cheat sheets later, no need to write stuff down
              </section>
    
              <section id="intro-objectives" data-markdown>
                ## objectives
    
                - teach you to fish
                - hands-on experience
                - use version control!
                - collaborate!
              </section>
    
              <section id="intro-about-me" data-markdown>
                ## about me
    
                - scientific computing support @ idiv since 2014
                - happy git user since 2010
    
                > There will never be a better version control system than git.
                >
                > -- Christian Krause, Chemnitz 2017
              </section>
    
              <section id="intro-about-today" data-markdown>
                ## about today
    
                be able to ...
    
                1.  use git in **ALL** your projects
                2.  collaborate with each other
    
                ... that is mission accomplished.
    
                notes:
                - there is time for fancy stuff later
                - take a few weeks getting used to git
                - delay is good to grow your own experience
                - growing pain is how we learn
              </section>
    
              <section id="intro-you" data-markdown>
                ## about you
    
                ![people](img/people.jpg)
    
                name, job, git experience, why git?
              </section>
    
              <section id="intro-about-git" data-markdown>
                ## about git
    
                1.  **records changes to a repository**
    
                    content, who, when, message
                2.  **best tool for the job**
    
                    technical, usability, community
    
                notes:
                - the fact that content is organized in files and directories is
                  only incidental
                - for git to be useful, content has to be text
              </section>
            </section>
    
            <section>
              <section id="motivation" data-markdown>
                # motivation
    
                > Why should I use git?
              </section>
    
              <section id="motivation-avoid-mess" data-markdown>
                ## motivation #1
                ### avoid mess
    
                ![blah](img/draft_mess.png)
              </section>
    
              <section id="motivation-want-structure" data-markdown>
                ## motivation #1
                ### want structure
    
                ![blah](img/gitk-pretty-history.png)
              </section>
    
              <section id="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="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 typo 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="motivation-creative-use" data-markdown>
                ## motivation #4
                ### the creative use of git award
                #### goes to Michael Schilli
    
                ```yml
                videos:
                  - id: '_3i5yVoTvCs'
                    title: 'How to flip German pancakes'
                  - id: 'brPfE66FC24'
                    title: 'Tivo Stream Cooling Fan Replacement'
                ```
    
                ```console
                $ youtube-sync -i videos.yml
                _3i5yVoTvCs: Unchanged
                brPfE66FC24: Updated OK
                ```
    
                source: [Linux Magazin](http://www.linux-magazin.de/) 2018/01
              </section>
    
              <section id="motivation-use-everywhere" data-markdown>
                ## motivation #e
                ### use version control for
                # *everything*
    
                | common       | less frequent   | esoteric?       |
                | ------------ |:---------------:| ---------------:|
                | software     | presentation    | youtube         |
                | blog         | paper / thesis  | soundboard      |
                | user config  | task management | drinking games  |
    
                notes:
                - if it doesn't support git don't use it
              </section>
    
              <section id="motivation-automation" data-markdown>
                ## motivation #a
                ### automation
    
                - software testing
                - build app and deploy to app store
                - put presentation on web server
    
                *(see advanced seminar)*
              </section>
            </section>
    
            <section>
              <section id="start" data-markdown>
                # let's get started
    
                notes:
                - git is simple and complex
                - git seems complex for 2 reasons:
                  - you're unfamiliar with command line
                  - there are a lot of choices
                - only X (TODO) theory pages
                - I'm gonna dumb it down for you
                  - aka we'll stick to the simple parts
              </section>
    
              <section id="cheatsheet" data-markdown>
                # [cheat sheet](https://idiv-biodiversity.github.io/git-cheat-sheet/)
              </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>
    
        <!-- fork me ribbon -->
    
        <div class="fork-me-ribbon-wrapper right">
          <div class="fork-me-ribbon">
            <a href="https://git.idiv.de/sc/edu/git-seminar">
              fork me
            </a>
          </div>
        </div>
    
        <!-- reveal.stuff -->
    
        <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>