Git together

Moin,

am 14.05.2016 erzähle ich ein bisschen etwas über Versionierung, und wie man diese mit Hilfe eines inhaltsadressierbaren, deduplizierenden Dateisystems mit Snapshot-Unterstützung in der Praxis benutzen kann.

Kurz gesagt: Es geht um git.

Inhalt
Ich habe vorerst 6 Teile á 30 Minuten geplant. Wir können den Zeitplan aber flexibel gestalten, Ich werde den ganzen Abend vor Ort sein.

Hintergrund zur Versionierung
Ich erzähle allgemein ein bisschen was zur Versionierung und wie es dazu kam, was wir heute haben.


 * Welche Probleme versucht man zu lösen?
 * Geschichtsstunde (SCSS, RCS, CVS, SVN, ...)
 * Welche neuen Probleme haben wir jetzt? (Zentral/Dezentral, File locking)

Werkzeuge
Versionierung ist also immer eine gute Idee. Was nun?


 * Ich will versionieren, gibts da was von ratiopharm? (tl;dr: git!)
 * Git ist nicht one-size-fits-all. Was gibt es noch? (git-annex, git-lfs, Perforce, ClearCase, TFS, ...)

Git für Egoisten - Der Harte, unangenehme Einstieg
Alle notwendigen Grundlagen, um Änderungen an seinen Dateien zu tracken. Dieser Teil ist als Workshop geplant, bring your own laptop.

Voraussetzungen:


 * Man sollte wissen, wie man Software auf seinem Computer installiert
 * sicher im Umgang mit Dateien und Ordnern sein
 * keine Angst davor haben, Textbefehle in ein schwarz-weisses Fenster einzutippen

Git-Funktionen: init, add, commit, log, diff, branch, merge

Multi-User Git - Dateien zusammen jetzt noch effektiver kaputt machen
Git-Funktionen: clone, push, fetch, pull, blame

Going full retard - Git in der Praxis
Praxisnahe Anwendungsbeispiele und die ein oder andere Anekdote aus fast 5 Jahren Arbeit mit Git.


 * Hosting: SSH, GitHub, BitBucket, Gitlab
 * Workflow: commit/merge vs post-poduction
 * Branching: git flow, Feature Branches, nvie branching model, Fork / Pull Request, github flow
 * Fortgeschrittene Magie: bisect und filter-branch


 * Backup mit git
 * Deployment mit git
 * Statische Webseiten mit git
 * Systemadministration mit git

Interner Aufbau von Git
Plumbing and Porcelain, Staging Area, File Objects, Tree Objects, Commit Objects, Tagging, pack files, refspec, reflog, gc

Teilnehmer
- Xchange

Verpflegung/Catering
- Es wird Veganes zum Nachfleischen und Waffeln geben (yrthy)