Git Workshop – Übersicht
Überblick
Dieser Workshop führt von den Grundlagen bis zu fortgeschrittenem Betrieb und Security-orientierten Workflows. Der Aufbau orientiert sich am Kubernetes-Workshop: Referenzdokumente, vier Workshop-Level, Übungen, Assessments, Lösungen, offizielle Quellen und 31 praktische Beispiele.
Der Fokus liegt auf realer Git-Praxis:
- Repository, Working Tree, Index, Commits, Referenzen und Objektmodell verstehen
- Änderungen sauber stagen, committen, prüfen und rückgängig machen
- Branches, Merges, Rebase, Konflikte und Release-Historien beherrschen
- Remotes, Refspecs, Tags, Bundles, Worktrees und Submodule einordnen
- Recovery mit Reflog, Restore, Reset, Revert, Merge-Abbruch und Rebase-Abbruch anwenden
- Credentials, Signaturen, Hooks, Secret-Leaks und History Rewrite sicher bewerten
- Teamregeln für gemeinsame Branches, Reviews und Release-Flows formulieren
Quickstart
# Workshop content is provided through the Orthevs Academy.
chmod +x scripts/provision_git.sh
./scripts/provision_git.sh --dry-run
Prüfe danach deine lokale Git-Umgebung:
git --version
git config --list --show-origin
git status --short --branch
Lernpfad
| Level | Schwerpunkt | Workshop | Übungen | Assessment |
|---|---|---|---|---|
| 01 | Grundlagen | Grundlagen Workshop | Grundlagen Übungen | Grundlagen Assessment |
| 02 | Intermediate | Intermediate Workshop | Intermediate Übungen | Intermediate Assessment |
| 03 | Professional | Professional Workshop | Professional Übungen | Professional Assessment |
| 04 | Advanced Security | Advanced Security Workshop | Advanced Security Übungen | Advanced Security Assessment |
Dokumentation
Beispiele
Die Beispiele liegen unter examples/README.md. Jedes Beispiel enthält eine Hauptbeschreibung, eine deutsche Detailbeschreibung, eine englische Detailbeschreibung, validierbare Artefakte und ein run.sh, das ein lokales Lab-Repository unter work/ erzeugt und prüft.
Workshop-Aufbau
.
├── assessments/
├── docs/
├── examples/
├── exercises/
├── media/
│ └── pics/
├── scripts/
├── workshops/
├── LICENSE.md
└── README-DE.md
Arbeitsweise
- Lies zuerst das passende Dokument unter
docs/. - Arbeite das Workshop-Level unter
workshops/durch. - Nutze die Beispiele als kontrollierte lokale Git-Labs.
- Bearbeite die Übungen und dokumentiere Befehle, Beobachtungen und Recovery-Pfade.
- Prüfe dich mit den Assessments und Lösungen.
Wichtige Sicherheitsregel
Git-Kommandos können lokale Historie verändern. Bevor du reset --hard, rebase, filter-branch, push --force oder Credential-Konfigurationen nutzt, musst du wissen, ob der betroffene Zustand lokal, geteilt oder bereits veröffentlicht ist. Verwende im Workshop keine echten Tokens und keine produktiven privaten Schlüssel.
Offizielle Quellen und Abgrenzung
Die Inhalte orientieren sich an öffentlich dokumentierten Git-Quellen. GitHub, GitLab, Forgejo oder andere Hosting-Plattformen werden nur dort erwähnt, wo sie typische Git-Arbeitsweisen erklären; sie sind nicht identisch mit Git selbst.
- Git Reference: https://git-scm.com/docs
- Git Manual: https://git-scm.com/docs/git
- Pro Git Book: https://git-scm.com/book/en/v2
- git-submodule: https://git-scm.com/docs/git-submodule
- gitcredentials: https://git-scm.com/docs/gitcredentials
- git-credential-store: https://git-scm.com/docs/git-credential-store
- GitHub Certifications: https://docs.github.com/en/get-started/showcase-your-expertise-with-github-certifications/about-github-certifications
- GitHub Foundations auf Microsoft Learn: https://learn.microsoft.com/en-us/credentials/certifications/github-foundations/
Lizenz
Siehe LICENSE.md.
Zusätzliche Review-Drills
Nutze diese Drills, wenn die Hauptaufgabe abgeschlossen ist und zusätzliche betriebliche Begründung geübt werden soll. Sie sind bewusst nachweisorientiert und können in einem lokalen Lab-Repository beantwortet werden.
Drill 01: Working Tree
- Benenne, welcher Git-Zustand oder welche Referenz durch
Working Treebetroffen ist. - Nenne einen Befehl, der einen Nachweis liefert, und ein relevantes Feld oder eine relevante Zeile in der Ausgabe.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für ein gemeinsam genutztes Trainingsrepository.
Drill 02: Index
- Benenne, welcher Git-Zustand oder welche Referenz durch
Indexbetroffen ist. - Nenne einen Befehl, der einen Nachweis liefert, und ein relevantes Feld oder eine relevante Zeile in der Ausgabe.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für ein gemeinsam genutztes Trainingsrepository.
Drill 03: Commit-Graph
- Benenne, welcher Git-Zustand oder welche Referenz durch
Commit-Graphbetroffen ist. - Nenne einen Befehl, der einen Nachweis liefert, und ein relevantes Feld oder eine relevante Zeile in der Ausgabe.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für ein gemeinsam genutztes Trainingsrepository.
Drill 04: Branch-Referenz
- Benenne, welcher Git-Zustand oder welche Referenz durch
Branch-Referenzbetroffen ist. - Nenne einen Befehl, der einen Nachweis liefert, und ein relevantes Feld oder eine relevante Zeile in der Ausgabe.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für ein gemeinsam genutztes Trainingsrepository.
Drill 05: Remote-Tracking-Branch
- Benenne, welcher Git-Zustand oder welche Referenz durch
Remote-Tracking-Branchbetroffen ist. - Nenne einen Befehl, der einen Nachweis liefert, und ein relevantes Feld oder eine relevante Zeile in der Ausgabe.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für ein gemeinsam genutztes Trainingsrepository.
Drill 06: Reflog
- Benenne, welcher Git-Zustand oder welche Referenz durch
Reflogbetroffen ist. - Nenne einen Befehl, der einen Nachweis liefert, und ein relevantes Feld oder eine relevante Zeile in der Ausgabe.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für ein gemeinsam genutztes Trainingsrepository.
Drill 07: Credential Helper
- Benenne, welcher Git-Zustand oder welche Referenz durch
Credential Helperbetroffen ist. - Nenne einen Befehl, der einen Nachweis liefert, und ein relevantes Feld oder eine relevante Zeile in der Ausgabe.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für ein gemeinsam genutztes Trainingsrepository.
Drill 08: Signatur
- Benenne, welcher Git-Zustand oder welche Referenz durch
Signaturbetroffen ist. - Nenne einen Befehl, der einen Nachweis liefert, und ein relevantes Feld oder eine relevante Zeile in der Ausgabe.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für ein gemeinsam genutztes Trainingsrepository.
Drill 09: Hook
- Benenne, welcher Git-Zustand oder welche Referenz durch
Hookbetroffen ist. - Nenne einen Befehl, der einen Nachweis liefert, und ein relevantes Feld oder eine relevante Zeile in der Ausgabe.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für ein gemeinsam genutztes Trainingsrepository.
Drill 10: Submodule
- Benenne, welcher Git-Zustand oder welche Referenz durch
Submodulebetroffen ist. - Nenne einen Befehl, der einen Nachweis liefert, und ein relevantes Feld oder eine relevante Zeile in der Ausgabe.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für ein gemeinsam genutztes Trainingsrepository.
Drill 11: Tag
- Benenne, welcher Git-Zustand oder welche Referenz durch
Tagbetroffen ist. - Nenne einen Befehl, der einen Nachweis liefert, und ein relevantes Feld oder eine relevante Zeile in der Ausgabe.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für ein gemeinsam genutztes Trainingsrepository.
Drill 12: Recovery
- Benenne, welcher Git-Zustand oder welche Referenz durch
Recoverybetroffen ist. - Nenne einen Befehl, der einen Nachweis liefert, und ein relevantes Feld oder eine relevante Zeile in der Ausgabe.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für ein gemeinsam genutztes Trainingsrepository.
Drill 13: Working Tree
- Benenne, welcher Git-Zustand oder welche Referenz durch
Working Treebetroffen ist. - Nenne einen Befehl, der einen Nachweis liefert, und ein relevantes Feld oder eine relevante Zeile in der Ausgabe.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für ein gemeinsam genutztes Trainingsrepository.
Drill 14: Index
- Benenne, welcher Git-Zustand oder welche Referenz durch
Indexbetroffen ist. - Nenne einen Befehl, der einen Nachweis liefert, und ein relevantes Feld oder eine relevante Zeile in der Ausgabe.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für ein gemeinsam genutztes Trainingsrepository.
Drill 15: Commit-Graph
- Benenne, welcher Git-Zustand oder welche Referenz durch
Commit-Graphbetroffen ist. - Nenne einen Befehl, der einen Nachweis liefert, und ein relevantes Feld oder eine relevante Zeile in der Ausgabe.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für ein gemeinsam genutztes Trainingsrepository.
Drill 16: Branch-Referenz
- Benenne, welcher Git-Zustand oder welche Referenz durch
Branch-Referenzbetroffen ist. - Nenne einen Befehl, der einen Nachweis liefert, und ein relevantes Feld oder eine relevante Zeile in der Ausgabe.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für ein gemeinsam genutztes Trainingsrepository.