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
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.
Dieser Kurs richtet sich an Softwareentwickler unabhängig von ihrer Programmiersprache.
Inhalte
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
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
Voraussetzungen
- Grundkenntnisse in der Verwendung von Kommandozeilen-Interfaces
- Erfahrung mit einer beliebigen Programmiersprache
- Verständnis grundlegender Softwareentwicklungskonzepte