Erlernen Sie die professionelle Umstellung von Subversion, Mercurial oder TFS auf Git mit bewährten Methoden, praktischen Workflows und strukturierten Migrationspfaden für nachhaltige Versionskontrolle.
Grundlagen der Versionskontrolle und Git-Konzepte
  • Vergleich von Git mit zentralisierten Versionskontrollsystemen (Subversion, TFS)
  • Verteilte vs. zentralisierte Versionskontrolle - Vor- und Nachteile
  • Git-Datenmodell und seine Unterschiede zu anderen Systemen
  • Grundlegende Git-Befehle und Arbeitsabläufe
  • Branching und Merging in Git - Konzepte und Best Practices
  • Commit-Historie und deren Bedeutung bei der Migration
Vorbereitung und Planung der Migration
  • Bestandsaufnahme der aktuellen Versionskontrollumgebung
  • Identifikation von kritischen Repositories und Abhängigkeiten
  • Erfassung von benutzerdefinierten Erweiterungen und Integrationen
  • Entwicklung eines stufenweisen Migrationsplans
  • Risikobewertung und Entwicklung von Fallback-Strategien
  • Festlegung von Erfolgskriterien für die Migration
  • Zeitplanung und Ressourcenzuweisung für den Migrationsprozess
Technische Aspekte der Migration
  • Tools und Techniken für die Migration von Subversion zu Git
  • Spezielle Herausforderungen bei der Migration von Mercurial oder TFS
  • Umgang mit großen Repositories und langer Versionshistorie
  • Transformation von Metadaten und benutzerdefinierten Eigenschaften
  • Mapping von Benutzerkonten zwischen Systemen
  • Behandlung von Binärdateien und großen Dateien in Git (Git LFS)
  • Automatisierung des Migrationsprozesses mit Skripten
Git-Hosting-Lösungen und Infrastruktur
  • Vergleich von Git-Hosting-Optionen (GitHub, GitLab, Bitbucket, Azure DevOps)
  • On-Premise vs. Cloud-Hosting - Vor- und Nachteile
  • Einrichtung und Konfiguration von Git-Servern
  • Benutzer- und Rechteverwaltung in verschiedenen Git-Plattformen
  • Integration mit Verzeichnisdiensten (LDAP, Active Directory)
  • Backup-Strategien und Disaster Recovery für Git-Repositories
  • Skalierbarkeit und Performance-Optimierung der Git-Infrastruktur
Git-Workflows und Branching-Strategien
  • Auswahl eines geeigneten Branching-Modells (Gitflow, GitHub Flow, Trunk-Based Development)
  • Implementation von Feature-Branch-Workflows
  • Umgang mit Release-Branches und Hotfixes
  • Strategien für langlebige Branches und parallele Entwicklung
  • Code-Review-Prozesse mit Pull/Merge Requests
  • Tagging-Strategien und semantische Versionierung
  • Anpassung von Git-Workflows an agile Entwicklungsmethoden
Integration mit CI/CD und DevOps-Praktiken
  • Einbindung von Git in bestehende CI/CD-Pipelines
  • Konfiguration von Webhooks und Integrationen
  • Automatisierte Tests bei Git-Events
  • Deployment-Strategien basierend auf Git-Branches
  • Verwendung von Git-Submodulen und abhängigen Repositories
  • Integration mit Issue-Tracking-Systemen und Projektmanagement-Tools
  • Implementierung von GitOps-Prinzipien
Change Management und Schulung
  • Entwicklung einer Kommunikationsstrategie für die Migration
  • Überwindung von Widerständen gegen die Umstellung
  • Schulungsplan für verschiedene Benutzergruppen
  • Erstellung von internen Git-Richtlinien und Best Practices
  • Mentoring und Support während der Übergangsphase
  • Dokumentation von neuen Prozessen und Workflows
  • Evaluation des Migrationserfolgs und Nachbesserungen
Fortgeschrittene Git-Techniken
  • Effiziente Arbeit mit der Commit-Historie (Rebase, Cherry-Pick)
  • Git-Hooks für automatisierte Qualitätssicherung
  • Refactoring von Git-Repositories (Splitting, Zusammenführen)
  • Strategien für Monorepos vs. Multi-Repos
  • Git-Internals: Objekte, Referenzen und Packfiles
  • Fehlerbehebung und Wiederherstellung in Git
  • Optimierung der Git-Performance für große Projekte