Commit 1a9e73d1 authored by Lukas Nagel's avatar Lukas Nagel
Browse files

add presentation notes

parent cd237e65
{"pdfpcFormat":1,"duration":45,"savedSlide":0,"disableMarkdown":false,"noteFontSize":20,"pages":[{"idx":0,"label":"1","overlay":0,"note":"- Name\n- Thema"},{"idx":1,"label":"1","overlay":1,"note":"- Eig: Werkzeug gemiensame arbeit nachzuverfolgen, das auf schöner verteilter grafentheorie basiert \n- Realität: irgendwelche Befehle eingeben, wenn schief läuft löschen und neu anfangen"},{"idx":2,"label":"2","overlay":0,"note":"##### Kurz vorab:\n - Was ist Vesionsverwaltung?\n - was ist Version\n - Anderes Beispiel: Computer Spiel"},{"idx":3,"label":"3","overlay":0,"note":"- Bessere Rückgängigfunktion\n- Alle angelegten Verision ganz oder zt \nWiederherstellbar"},{"idx":4,"label":"3","overlay":1,"note":"- Nicht nur alte versionen wiederherstellen,\nsondern auch\n - Vergleichen\n - Unterschiede zwischen ihnen anscheuen\n- Git versionen mit Beschreinung versehen"},{"idx":5,"label":"3","overlay":2,"note":"- Verzweigen sinnvoll:\n - Features ohne ggseiteige Beeinflussung entwickelbar\n - Wie eigene Kopie\n - ...aber einfache Zusammenführung\n - Gibt der Versiongeschichte struckutur (Gruppiert)"},{"idx":6,"label":"3","overlay":3,"note":"- Viele Potenzielle Probleme\n - Bsp.: Netzwerkspeicher -> Koordiantion\n - GGsatz: Git lokales Repo mit entfernten synchronieseren"},{"idx":7,"label":"4","overlay":0,"note":"- Dementsprechend handelt es sich um dezetrale Topologie\n- Jeder hat Kopie des gesamten Repos\n- Jeder kann server/Client werden\n- Häufig ein Hauptrepo"},{"idx":8,"label":"5","overlay":0,"note":"- Versionen in Git: Commit\n- Version als Schnappschuss\n- Arbeitskopie liegt im Arbeitsverzeichnis\n- Versionen werden im AB vorbereitet\n- Nächste Version im Index Vorbereitet\n- mit commit im Repo gespeichert\n- mit checkout aus dem repo ins AB"},{"idx":9,"label":"6","overlay":0,"note":"- Schnappschuss nicht als Monolith\n- datei Inhalt als blob Objekt\n- Verzeichnisse als Tree Objek\n- Version, dann als Commit\n- Objekt über Hash adressiert werden\n- ... oder über Referenzen\n- all das im `.git`"},{"idx":10,"label":"7","overlay":0,"note":"- Integrität wie Blockchain\n- Deduplizierung\n- Umbennennung kein neues blob\n- Zeiger effizient als Textdateien (40Byte)\n- Neuer Zeiger: nur Datei anlegen\n- Für Dateien die sich zw Versionen nicht Ändern kien neues Objekt"},{"idx":11,"label":"8","overlay":0,"note":"- VG als DAG\n - Commits Knoten\n - Vorgänger Kanten"},{"idx":12,"label":"8","overlay":1,"note":"- Commits haben Beschreibung\n- Erster Commit auch Rootcommit"},{"idx":13,"label":"8","overlay":2,"note":"- Zweige entprechen Knoten mit Mehreren Nachfolgern\n- Merge Commits mit mehren Vorgängern"},{"idx":14,"label":"8","overlay":3,"note":"- Zweige als Zeiger auf Knoten\n- HEAD zeigt auf aktuellen Zweig"},{"idx":15,"label":"9","overlay":0,"note":"- Schauen wir uns verwendugn am BSP\n- `Situation erlären`"},{"idx":16,"label":"10","overlay":0,"note":"- Projekt VZ enthält nur Datein\n- mit git init leeres Repo init\n- wird im `.git` VZ angelegt"},{"idx":17,"label":"11","overlay":0,"note":"- Überblick mit git status\n- Noch keine Commits\n- Index enthält Kopie der aktuellen Version,\nalso nichts"},{"idx":18,"label":"12","overlay":0,"note":"- mit git add Datein zum Index hinzufgen\n- mit status überprüfen\n- Version kann dann ins Repo geschrieben werden"},{"idx":19,"label":"13","overlay":0,"note":"- erhalten diesen Versiongraphen\n- Nun: Nehmen Änderung an Datei vor\n- Änderungen in den Index übernehemen\n- neue Version anlegen\n - Tree wie Index\n - Vorgänger wird akuteller Commit\n - zeiger auf den HEAD zeigt wird bewegt"},{"idx":20,"label":"13","overlay":1,"note":"- sieht dann so aus"},{"idx":21,"label":"14","overlay":0,"note":"- Verzweigen hilfreich um Features unabhängig Voneinader zu entwickeln\n - Unfertiges in A behindert nicht B\n- Experimentelle Änderungen\n- Kein Problem viele Branches zu machen\n - effizient + dedupliziert\n- Hauptoperationen\n - erstellen + Zweig wechseln"},{"idx":22,"label":"15","overlay":0,"note":"- Beispiel anschauen\n- Experientelles Feature zur Beschleunigugn in eigenem Zweig\n- checkout -b kombiniert beides\n - zuerst neuer Zeiger\n - Dann wird head umgestellt"},{"idx":23,"label":"15","overlay":1,"note":"- Nun wird master nicht bei commit bewegt\n- beide Zweige zeigen uaf unterschiedliche\nCommits,\n- haben aber gemeinsame Basis\n- => Divergierte Zweige"},{"idx":24,"label":"16","overlay":0,"note":"- Nun: wie divergierte Zweige zusammen führen\n- Prozess des Zusammenführens: Mergen\n- passiert größenteils automatisch\n- Konflikte bei überschnden Txtbschnttn\n- dann muss merge Commit mit Konflikt lösung angelegt werden"},{"idx":25,"label":"17","overlay":0,"note":"- Methode bei der Konflikte unmöglich\n- Zweig hat keine Änderungen seit dem Verzweigt wurde\n- Vorspulen alos verschiebn des Zeiger möglich\n"},{"idx":26,"label":"17","overlay":1,"note":"- Struktur geht verloren, abzweigen wird nirgendow gespeichert"},{"idx":27,"label":"18","overlay":0,"note":"- Methode bei der Strucktur erhalten bleibt\n- Neuer commit mit beiden als Vorgänger wird angelegt\n- tree enthält evtl manuell vereinigte version"},{"idx":28,"label":"18","overlay":1,"note":"- nach merge strucktur weiterhin erkennbar\n"},{"idx":29,"label":"19","overlay":0,"note":"- Bsp.: Auf experimentellem Branch performance verbessert\n- auf master am Beweis gearbeitet"},{"idx":30,"label":"19","overlay":1,"note":"- merge einfach über kommando"},{"idx":31,"label":"20","overlay":0,"note":"- Anfängs erwähnt: git Kollborativ und verteilt\n- entferentes Repo kann über viele Protokolle wie z.B. https oder ssh synchronisiert werden\n- remote wird mit namen und url angelegt\n- zweige sind lokal unter namen (-w)"},{"idx":32,"label":"21","overlay":0,"note":"- Befehl zum hinzufügen\n- Befehle um zu lesen\n- Befehl zum hochladen\n - ff muss auf remote möglich sein, da wir ja Konflikt auf Server nicht lösen können"},{"idx":33,"label":"22","overlay":0,"note":"- Bsp.: Bob hat lokal Beweis erstellt\n - Alice hat auf eig Repo performance\n- Bob fügt alice repo hinzu"},{"idx":34,"label":"22","overlay":1,"note":"- mit fetch werden alle Objekte, die von alice master erreichbar aber nicht von Bobs master erreichbar sind heruntergeladen\n- auch blobs nur wenn sie nicht lokal verfügbar sind\n- weiterhin wird neue Referernz auf laice master angelegt"},{"idx":35,"label":"22","overlay":2,"note":"- merge mit remote Zweigen funzt gensuo wie mit lokalen\n- Kommandos sind zsm git pull\n- Segway:\n - PC nicht immer von überall ereichbar\n - Server notwendig => GitHub"},{"idx":36,"label":"23","overlay":0,"note":"- GithuB größter Hoster\n- Bietet nben reinem hosting\n - Issuetracker, Wiki, webhosting\n - Später: Automatiersunglösung Actions\n- Besonderheit: Nutzerzentrisch\n- schnell Kopie (Fork) im Namenstaum anlegen"},{"idx":37,"label":"24","overlay":0,"note":"- daraus neuer Workflow\n- Alice hat Privates Repo und Öfentliches\n- Bob will Änderugnen vornehemen"},{"idx":38,"label":"25","overlay":0,"note":"- Git bietet mit Hooks möglichkeit bei bestimmenten ereignissen Code auszuführen\n- GitHub bietet sog. Workflows die bestimmte Aktionen ausführen"},{"idx":39,"label":"25","overlay":1,"note":"- WF können auch durch events ausgelöst werden\n- Events wie zB. push oder Fork request\n- WF können andere WF auslösen"},{"idx":40,"label":"25","overlay":2,"note":"- Dabei bestehen WF aus Jobs\n- die widerum aus schritten bsthen\n- Schritt kann script\n- .. oder action also vorgefertigter Skript,\ndas Parameter akzeptiert\n- Actions können aus dem GH marketplace stamment => reuse"},{"idx":41,"label":"25","overlay":3,"note":"- ausgeführt wird das auf sog. Runnern,\nalso VMs die\n- entweder von GH bereitsgestellt\n- oder slebst ghostet werden (ENTERPRISE)\n- GH bietet Win, Lnx, MCS an"},{"idx":42,"label":"26","overlay":0,"note":"- Bsp.: Codestiel bei Pull-Request überprüfen und ggf. in der Pull-Req anmerken\n- Konfigurationsdatei, enthält beschreibung etc, step mit uses"},{"idx":43,"label":"27","overlay":0,"note":"- Git kann textuelle Konflikte sehr gut erkennen\n- Sematische Konflikte sind nicht textuell und daher nicht erkennbar durch git\n- `erklären`\n- GH Action kann tests etc ausführen somit automatisch & frühzeitig Fehler erkennen"},{"idx":44,"label":"28","overlay":0,"note":"### Ou shit die müssen nochmal unters hackbeil"},{"idx":45,"label":"29","overlay":0,"note":"### ...die hier auch"},{"idx":46,"label":"30","overlay":0,"note":"- Digitale Signuaturen sind möglich aber nicht notwendig\n- Spoofing sehr einfach\n- ... und aus per design\n - je nach Zeit anekdoten geschwafel\n- daher Totes Meme im namen von Linus Torvalds möglich"},{"idx":47,"label":"31","overlay":0,"note":"# Danke für Ihre Aufmerksamkeit"}]}
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment