KBS-WiSe2223-SymbolischeProgrammierung
Dies ist der 5. Termin vom KunterBuntenSeminar im WS 22/23.
Ort: G-022
Datum: 10. Januar
Zeit: 18:00 Uhr bis ca. 20:00 Uhr
tl;dr
Workshop zu Git, der freien Software zur verteilten Versionsverwaltung.
Was ist git eigentlich und wie funktioniert es? Eine Einführung zum mitmachen.
Too Long Did Read
Motivation
Bist du es nicht auch leid, für deine Hausaufgaben ständig Dateien hin- und herzuschicken? Hast du schon mal in einer Präsentation etwas geändert und dich später geärgert, dass eine alte Version für immer verschollen ist? Hast du kurz vor der Abgabe eines Dokumentes wild zwischen "Abgabe_v20_fertig.pdf", "Abgabe_v21_neu.pdf", "Abgabe_v20-komplett.pdf" und "Abgabe_final_korrigiert.pdf" hin- und hergeschaut, um den letzten Stand ausfindig zu machen? Und hast dich schon mal gefragt, wie das überhaupt geht, dass dutzende Leute zusammen an einer Software arbeiten, wenn es doch ewig dauern würde, die einzelnen Codeschnipsel zusammenzutragen und ständig aktuell zu halten?
Dann hast du am kommenden Dienstagabend hoffentlich noch nichts vor, denn da erzähle ich dir und allen Genossen im Schmerz[1], welch schlaue Software die obigen Probleme löst: Git!
Was ist eine Versionsverwaltung?
Änderungen an Dateien werden mit Hilfe einer Versionsverwaltung in einzelnen Versionen abgespeichert, sodass man einfach zu älteren Ständen zurückspringen kann. Einzelne Arbeitsschritte gehen also nicht verloren und man braucht nie mehr tausend Dateien wie "Abgabe-V2_final_korrigiert-fertig.pdf" anlegen.
Typischerweise erlaubt eine Versionsverwaltung das erstellen paralleler Versionen. Stell dir vor du hast eine Datei "Abgabe.tex" und kopiert sie zu "Abgabe_B.tex". Bei der originalen Abgabe änderst du nun im ersten Kapitel etwas und bei "Abgabe_B" im zweiten Kapitel. Klingt erst mal sinnlos, aber vielleicht bist du dir noch nicht sicher, ob du die Änderungen in "Abgabe_B" wirklich beibehalten möchtest und erstellt so erst mal eine Art Sicherung.
So in etwa arbeitet auch eine Versionsverwaltung, in dem verschiedene Stände deiner Arbeit parallel existieren können. So kann man verhindern, dass ungewollte oder fremde Änderungen deine Abgaben, Code oder sonstigen Dokumente kaputt machen.
Das halten paralleler Versionen lässt sich natürlich prima auf mehrere Rechner aufteilen, sodass mehrere Personen ihre eigenen Versionen eines Dokumentes halten und so parallel arbeiten können.
All das (und noch viel viel mehr) kann git.
Was ist git?
Git ist
- plattformunabhängig, klein, schnell und kostenlos,
- kein hacky Nieschen-Tool, sondern ein de-facto Standardwerkzeug, dass alle benutzen ... alle professionellen (Unternehmen|Entwickler|Hacker|Studis) zumindest ;)
- in den Basics einfach zu lernen,
- trotzdem unglaublich mächtig,
- 100% LaTeX[2]-Kompatibel, also perfekt für Hausaufgaben, Ausarbeitungen und Abschlussarbeiten,
- in jeder guten IDE (standardmäßig) unterstützt!
Was muss ich mitbringen?
Dieses KBS ist zum mitmachen gedacht. Am besten du bereitest dich vor:
- Mache dich mit git.mafiasi.de vertraut (zumindest solltest du dich dort anmelden können)
- Bringe einen Laptop mit und installiere git darauf (egal ob Windows oder Linux, aber natürlich empfehle ich dir Linux ;) )
Vortragende
- Hauke 14stieler
Folien
Gibt dieses mal vielleicht keine (neuen), mal schauen.
Folien vom letzten mal: Medium:KBS-SoSe21-Git-Crashkurs.pdf