Dieser Kurs bietet eine Einführung in Git, von den Grundkonzepten über das Arbeiten mit Branches bis zur Verwendung der Kommandozeile und der Nutzung von Git mit Visual Studio und Visual Studio Code.
Einführung in Git
Dauer: 2 Tage
Steht Git nun für global information tracker oder doch goddamn idiotic truckload of sht* (laut Linus Torvalds)? Egal, auf jeden Fall ist es das heute meist eingesetzte Tool für die Quellcodeverwaltung. Dieser Kurs bietet Ihnen eine Einführung in Git, von den Grundkonzepten über das Arbeiten mit Branches bis zur Verwendung der Kommandozeile und der Nutzung von Git mit Visual Studio und Visual Studio Code.
Zielgruppe
- Developers and technical professionals who want to deepen their skills in Einführung in Git.
- Architects and team leads evaluating practical implementation patterns.
- Teams adopting modern engineering practices for delivery and operations.
Voraussetzungen
- Grundkenntnisse in der Verwendung von Kommandozeilen-Interfaces
- Erfahrung mit einer beliebigen Programmiersprache
- Verständnis grundlegender Softwareentwicklungskonzepte
Lernziele
- Understand the core concepts and architecture behind the course topic
- Apply recommended implementation patterns in practical scenarios
- Build and validate solutions using modern tooling and workflows
- Troubleshoot common issues and improve reliability
- Plan next steps for production-ready adoption
Kursinhalt
Einführung in Git
- Vergleich von Quellcodeverwaltungssystemen (zentralisiert vs. verteilt)
- Gits Designphilosophie und Vorteile
- Grundlagen der Git-Kommandozeile
- Git-Interna: Objekte, Referenzen und das .git-Verzeichnis
- Verstehen von Commits, Trees und Blobs
Arbeiten mit Repositories
- Klonen bestehender Repositories
- Initialisieren neuer Repositories
- Git konfigurieren (Benutzeridentität, Editor, Aliases)
- Dateien und Verzeichnisse hinzufügen und entfernen
- Die Staging Area (Index) und ihre Rolle
- Dateien mit .gitignore ignorieren
Änderungen verfolgen
- Der Git-Workflow: Working Directory, Staging, Repository
- Änderungen mit aussagekräftigen Nachrichten committen
- Diffs anzeigen und verstehen
- Commits nachträglich ändern (amend)
- Arbeit zwischenspeichern mit Stash
Historie und Repository-Status
- Im Git-Repository suchen (git grep, git log filtern)
- Log-Analyse und Visualisierung
- Datei-Historie und Annotationen anzeigen (git blame)
- Commits, Branches und Tags vergleichen
Branches und Merges
- Branches als leichtgewichtige Pointer verstehen
- Branches erstellen und wechseln
- Branches mergen (Fast-Forward vs. Three-Way-Merge)
- Merge-Konflikte Schritt für Schritt auflösen
- Commits rebasen: wann und warum
- Interaktives Rebase zum Aufräumen der Commit-Historie
- Bestimmte Commits mit
git cherry-pickübernehmen
Git Worktrees
- An mehreren Branches arbeiten, ohne Änderungen zu stashen oder das Repository erneut zu klonen
- Worktrees mit
git worktree adderstellen und mitgit worktree listauflisten - Typische Anwendungsfälle: Hotfixes während der Feature-Entwicklung, parallele Pull-Request-Reviews und Tests auf einem anderen Branch
- Worktrees mit
git worktree lock,git worktree move,git worktree unlockundgit worktree prunesperren, verschieben und aufräumen - Einschränkungen von Worktrees, insbesondere dass ein Branch nur in einem Worktree ausgecheckt sein kann
- Worktrees sicher mit
git worktree removeentfernen und mitgit worktree prunebereinigen
Arbeiten im Team
- Remote-Repositories: hinzufügen, fetchen, pullen, pushen
- Centralized, Feature Branch und Gitflow Workflow
- Forking Workflow (Open-Source-Kollaborationsmodell)
- Mono-Repos vs. Multi-Repos
- Submodules und Subtrees
Fehler beheben
- Änderungen rückgängig machen: reset vs. revert vs. restore
- Verlorene Commits mit Reflog wiederherstellen
- Historie umschreiben: Risiken und Best Practices
Git mit IDEs
- Git in Visual Studio verwenden
- Git in Visual Studio Code verwenden
- Integration mit GitHub, Azure DevOps, GitLab
Git in der DevOps-Pipeline
- Continuous Integration mit Git Hooks und Automatisierung
- Continuous Delivery und Deployment-Trigger
- Deployment-Patterns und Branching-Strategien
- Semantic Versioning und Release-Tagging
- Tipps, Tricks & Best Practices
- Effektive Commit-Nachrichten schreiben
- Branch-Namenskonventionen
- Wann rebasen vs. mergen
- Repositories absichern und sensible Daten handhaben
- Git-Aliases und Produktivitäts-Shortcuts
Praktische Übungen
- Ein Repository initialisieren, Änderungen stagen und aussagekräftige Commits erstellen
- Feature-Branches erstellen und einen Merge-Konflikt auflösen
- Einen Feature-Branch rebasen und seine Historie mit interaktivem Rebase aufräumen
- Mit
git worktreegleichzeitig an mehreren Branches arbeiten - Fehler mit reset, revert und reflog beheben
- Git-Operationen in Visual Studio und Visual Studio Code integrieren
Ergebnisse
Nach Abschluss dieses Kurses können die Teilnehmenden die vermittelten Konzepte und Werkzeuge anwenden, um belastbare Lösungen in realen Projekten umzusetzen.