diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..4fb6d30b7f3d1d9a2c0822be56a35d8b96951e05 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +reveal.js diff --git a/foo.md b/foo.md index b75427040073af38039c241041f09e047e862d43..2cb57d17a22107774de6f2d3a79be7b7817d226b 100644 --- a/foo.md +++ b/foo.md @@ -1,10 +1,24 @@ -Prereq +Blöcke ====== -- github account -- local git client installation / eigenes notebook mitbringen -- registration to the course -- bonus: your own project without VCS +(jeder Block ~ 1.5h, insgesamt 2h Pause - ein ganzer Tag git) + +0. Intro + - Why VCS? (Have you ever ...?) + - Why git? + - How do I start git very basics + +1. Git Commands + - working dir - index/stage - repo + +2. GitLab / GitHub + - project maintanance + - issues and PRs + - "easier collaboration" + +3. VCS Workflows + - how to collaborate in an organized manner + Basics ====== @@ -16,9 +30,15 @@ VCS für mich ### init +### add + +git add foo bar + ### commit -- -am --- alarm am geht nicht mit untracked files +git commit -m 'foo bar' + +prima - was hat sich nu verändert? -------------------------- @@ -42,6 +62,8 @@ was hat sich nu verändert? ### add / reset / checkout +diff und diff --staged und diff HEAD + vcs mit backup -------------- @@ -49,6 +71,14 @@ vcs mit backup - push - pull + + +## merge + +mergetool linux = meld +mac = ??? +windows = ??? + Workflows ========= @@ -79,3 +109,6 @@ Your Projects ##### STuff - explain all collaboration workflows via github + + +- diff --git a/git-course.html b/git-course.html new file mode 100644 index 0000000000000000000000000000000000000000..040d20d65af0c1f9e51de0f966dc76d5194be0be --- /dev/null +++ b/git-course.html @@ -0,0 +1,220 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="utf-8"> + <meta name="author" content="Christian Krause" /> + <meta name="dcterms.date" content="2015-06-15" /> + <title>Git Workshop</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"/> + <style type="text/css">code{white-space: pre;}</style> + <link rel="stylesheet" href="reveal.js/css/theme/black.css" id="theme" /> + + <!-- If the query includes 'print-pdf', include the PDF print sheet --> + <script> + if( window.location.search.match( /print-pdf/gi ) ) { + var link = document.createElement( 'link' ); + link.rel = 'stylesheet'; + link.type = 'text/css'; + link.href = 'reveal.js/css/print/pdf.css'; + document.getElementsByTagName( 'head' )[0].appendChild( link ); + } + </script> + + <!--[if lt IE 9]> + <script src="reveal.js/lib/js/html5shiv.js"></script> + <![endif]--> + </head> + + <body> + <div class="reveal"> + <div class="slides"> + + <section> + <h1 class="title">Git Workshop</h1> + <h3 class="author">Dirk Sarpe & Christian Krause</h3> + <h3 class="date">today</h3> + + <aside class="notes"> + <ul> + <li>if you have questions ask them right away</li> + </ul> + </aside> + </section> + + <section id="poll-why-are-you-here" class="titleslide slide level1" data-markdown> + <script type="text/template"> + # Poll: Why are you here? + + Note: + - Someone (like us) told you it ~~might be~~ **is** useful. + - You never took the time to really learn it. + - You already know and use it, want to show off / learn new tricks. + + - Somebody forced you to come here. + - You wanted to get away from your desk for once and maybe take a nap. + </script> + </section> + + <section> + <section class="titleslide slide level1" data-markdown> + # What is git, VCS? + + - + + Note: + - + </section> + + <section class="slide level2" data-markdown> + ## What is version control? + + - + + Note: + - + </section> + + <section class="slide level2" data-markdown> + ## What is git? + + - + + Note: + - + </section> + + <section class="slide level2" data-markdown> + ## Why do we all use git? + + - + + Note: + - + </section> + </section> + + <section id="prereq" class="titleslide slide level1" data-markdown> + <script type="text/template"> + # Checking Prerequisites + + - GitHub / GitLab account + - local git client installation + - bonus: your own project without VCS + + Note: + - wenn git client selbst nicht aufsetzen kann, dann bitte halbe stunde früher + - registration to the course + - git client includes your own notebook + </script> + </section> + + <section> + <section class="titleslide slide level1" data-markdown> + # Why git? + +Have you ever: + + Made a change to code, realised it was a mistake and wanted to revert back? + Lost code or had a backup that was too old? + Had to maintain multiple versions of a product? + Wanted to see the difference between two (or more) versions of your code? + Wanted to prove that a particular change broke or fixed a piece of code? + Wanted to review the history of some code? + Wanted to submit a change to someone else's code? + Wanted to share your code, or let other people work on your code? + Wanted to see how much work is being done, and where, when and by whom? + Wanted to experiment with a new feature without interfering with working code? + +In these cases, and no doubt others, a version control system should make your life easier. + +To misquote a friend: A civilised tool for a civilised age. + + - + + Note: + - + </section> + + <section class="slide level2" data-markdown> + ## + + - + + Note: + - + </section> + </section> + + <section> + <section class="titleslide slide level1" data-markdown> + # VCS for me + + - + + Note: + - + </section> + + <section class="slide level2" data-markdown> + ## + + - + + Note: + - + </section> + </section> + + <section> + <section class="titleslide slide level1" data-markdown> + # + + - + + Note: + - + </section> + + <section class="slide level2" data-markdown> + ## + + - + + Note: + - + </section> + </section> + + <section id="eof" data-background="img/trex.png"><h1>EOF</h1></section> + </div> + </div> + + <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, + history: true, + center: 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/trex.png b/img/trex.png new file mode 100644 index 0000000000000000000000000000000000000000..9f2b26a5e1a85b1f92ec50ef666b7d7091cd902a Binary files /dev/null and b/img/trex.png differ diff --git a/ressources.md b/resources.md similarity index 82% rename from ressources.md rename to resources.md index 483f8153dde3e94a471e0ac6cdcf3f47d8e059b2..3cd3a0332de0d1f92b057104da3a29d650aa0596 100644 --- a/ressources.md +++ b/resources.md @@ -8,3 +8,6 @@ - session 1 slide 16 Ein typischer Arbeitsablauf - session 3 slide: - [Git Big Picture](https://github.com/esc/git-big-picture) might be handy to create overview workflow graphs +- [visual git guide](http://marklodato.github.io/visual-git-guide/index-en.html) +- [simple git guide](http://rogerdudler.github.io/git-guide/) +