Grundkonzepte
Dezentrale Versionsverwaltung
Datenspeicher: Workspace, Staging, Repository, Remote Tracking Branches, Remote Repositories, Stash, Branches
Konzept der Git-Hash-Werte
Verweise auf Commits und anderen Referenzen
Git-Werkzeuge
Kommandozeilenwerkzeuge (git.exe/git u.a.)
GUI-Werkzeuge wie z.B. Visual Studio, VSCode, SourceTree und GitHub Desktop
Einstieg in Git
Konfiguration / User Settings
Grundoperationen für die lokale Arbeit
Lokale Repositories anlegen
Repositories klonen
Staging und Commits
Dateien von der Versionierung ausschließen (.gitignore)
Statusinformationen und Versionsgeschichte anzeigen
Änderungen verwerfen / Undo / Reset
Tagging (Tags)
Stashing
Suche im Repository
Branching und Merging
Branch erstellen
Arbeiten im Branch
Branch wechseln
Merging, Rebasing, Cherry-Picking
Umgang mit Konflikten (Konfliktlösung, Abbrechen)
Werkzeuge für die Konfliktbearbeiteung
Branches löschen
Das Gitflow-Konzept für Branching und Merging (Feature Branches, Release Branches, Hotfix Branches)
Remotes
Arbeiten mit Remotes
Remotes einrichten
Austausch zwischen Repositories (Fetch, Pull und Push)
Aufbauwissen
Dezentrales Arbeiten mit Git
Typische Workflows im Projektalltag
Gemeinsames Arbeiten auf einen Branch
Mit Feature-Branches und Hotfix-Branches entwickeln
Ein Release erstellen
Verschiedene Release-Branching-Strategien
Best Practices
Organisation von Repositories und Projekten
Das Dateisystem aufräumen
Grenzen von Git
Git-Erweiterungen
Git Submodules
Optionale Themen:
- GitHub
- GitLab
- Git in Azure DevOps (Team Foundation Server (TFS), Visual Studio Team Services (VSTS)