SVN zu Git – Erfolgreich die Migration meistern
Git Migration - Mit dieser Git Schulung zur erfolgreichen Migration von SVN zu Git. Erlebe effizientes Branching und Merging.
Beschreibung
Git ist das Rückgrat eines jeden modernen Softwareentwicklungsprozesses und ein zentrales System im Lebenszyklus einer Softwareänderung sowie auch übergeordnet eines Releases. Die Migration von SVN zu Git erfordert klare Prozesse und Werkzeuge, die den Übergang reibungslos gestalten und das Team nicht blockieren. Dieses Seminar gibt dir eine praktische Einführung mit dem Fokus auf die Migration und die damit möglichen Softwareentwicklungsprozesse. Dabei werden immer Vergleiche zu SVN gezogen und auf Unterschiede oder Eigenheiten eingegangen.
Ziel ist keine Enzyklopädie, die alle Kommandos in allen verschiedenen Varianten beleuchtet. Vielmehr geht es um die wichtigsten Kommandos, Best Practices und Workflows sowie den täglichen Einsatz eines Entwicklungsprozesses nach der Migration. Die Schulung wird mit praktischen Übungen aus dem Alltag von Entwicklern begleitet. Dabei werden Tools und Prozesse eingesetzt, die sich in der Praxis bewährt haben.
Die Schulung ist nicht nur als Standardschulung zu empfehlen, sondern bringt inhouse eine besondere Note bezüglich Anpassbarkeit, Erweiterbarkeit und der Entwicklung unternehmensspezifischer Softwareentwicklungsprozesse. Gerne kannst du dich im Vorfeld mit dem Coach austauschen, um die Möglichkeiten einer Inhouse-Schulung zu klären. Die Schulung lässt sich praktisch mit einem Tool-Stack deiner Wahl durchführen (Jira, Confluence, Bitbucket/Gitlab und Confluence, Bamboo/Confluence, Jenkins).
In-House – du interessierst dich für eine In-House Schulung exklusiv für dein Team oder Unternehmen? Frage die Schulung an oder lass dich unverbindlich beraten.
Schulungsziel
Nach dieser Schulung wirst du nicht nur Git als Versionsverwaltungssystem verstehen, sondern auch die Migration von SVN erfolgreich gestalten können. Du wirst lernen, wie modernes Codemanagement auf praxiserprobten Softwareentwicklungsprozessen basiert und dabei Vertrauen in das Tooling gewinnen. Der Umgang mit dem vollen Funktionsumfang wird dir keine Schwierigkeiten mehr bereiten, sodass Sicherheitskopien vor speziellen Kommandos (z.B. Reset, Rebase usw.) der Vergangenheit angehören. Darüber hinaus wirst du den Mehrwert verschiedener Vorgehensweisen erkennen und in der Lage sein, moderne Softwareentwicklungsprozesse zu implementieren und in deinem Unternehmen zu etablieren. Im Hinblick auf Teamarbeit wirst du neue Fähigkeiten erlangen, welche mit SVN noch undenkbar waren, was sowohl deinem Team als auch dir als Teammitglied eine völlig neue Herangehensweise bezüglich der Entwicklungsprozesse ermöglicht.
Dabei stehen in der Schulung nicht nur Kommandos im Vordergrund, sondern auch Review-Management, Social Engineering, Know-how-Transfer und mehr. Wir werden verschiedene Workflows kennenlernen und untersuchen, wie sie dich in deinem Softwareentwicklungsprozess mit modernen Codemanagementsystemen unterstützen können, einschließlich der Vor- und Nachteile. Das Ziel ist, dass du nach der Schulung selbst entscheiden kannst, welcher Workflow sich am besten für dich, dein Team oder dein Unternehmen eignet, und dass du den Übergang von SVN erfolgreich durchführen kannst. Du hast ein klares Bild von der Migration und kennst dich mit den gängigste Clients aus, um deinen Code zusammen im Team zu entwickeln und zu versionieren.
Zielgruppe
Du möchtest deine Projekte/Produkte von SVN migrieren, Know-how in deinem Unternehmen aufbauen oder Versionsverwaltung im Kontext moderner Softwareentwicklungsprozesse kennenlernen? Dann ist diese Schulung für dich geeignet! Sie ist so aufgebaut, dass Personen, die Softwareentwicklungsprozesse basierend auf moderner Versionsverwaltung erlernen möchten, einen Mehrwert aus dem Seminar ziehen – egal, ob Teamlead, Softwareentwickelnde, DevOps-Engineers oder ganze Entwicklungsteams.
Vorkenntnisse
Es sind keine Vorkenntnisse notwendig. Jedoch kann die Schulung ideal mit folgenden Schulungen ergänzt werden:
Inhalt
Softwareentwicklungsprozesse und Basics
- Zielsetzung: Der moderne Softwareentwicklungsprozess
- Unterschiede zwischen zu SVN
- Generelle Konzepte – Vogelperspektive
- Bereiche (Repositories, Stage/Index, Workspace, Stash)
- Was sind Commits, Branches und Tags?
- Repository-Konfigurationsmöglichkeiten
- Was sollte man bei einer Commit Message beachten?
- Warum sind Commit Messages für einen Entwicklungsprozess wichtig?
- Tags und Semantic Versioning
- Zeitreise – Mit Check-out in die Vergangenheit reisen
- Änderungen mit Log untersuchen
- Änderungen rückgängig machen (revert, reset, amend)
- Squash – Commits aufräumen
- Stash – mehr als nur ein Back-up
- Commits und Tags signieren
Teamwork und verteiltes Arbeiten
- Bitbucket/GitLab als Remote Repository
- Einrichten von SSH- oder HTTP-Token
- Zentraler Workflow vs. Feature-Branch-Workflow
- Beziehen und Veröffentlichen von Codeständen (push, pull, fetch)
- Warum können mehrere Remotes sinnvoll sein?
- Vergleich der Strategien – Pull Merge vs. Pull Rebase
- Code mit anderen Teammitgliedern via Branches teilen
- Teams via Merge, Rebase, Cherrypick synchronisieren
- Branches integrieren (Fast Forward vs. Non Fast Forward Merge)
- Wie funktioniert ein Merge (Vertrauen schaffen)?
- Sub-Modules und dessen Anwendungsgebiete
- LFS – wohin mit meinen Binaries?
Codemanagement und Releasemanagement
- Mit Codemangement zum modernen Entwicklungsprozess (Bitbucket, GitLab, GitHub)
- Overall Workflows (Gitflow, Trunk-Workflow, Fork-Workflow)
- Reviewmanagement (inkl. Pull-Requests, Maintainer-Konzept)
- Codemanagement als Social Engineering und Know-how-Plattform
- Möglichkeiten zum Releasemanagemenment
- Wie wird eine Release mit Feature und Code-Freeze vorbereitet?
- Wie können Wartungslinien bzw. LTS-Versionen verwaltet werden?
- Build und Testergebnisse beim Review automatisiert berücksichtigen
- Kontinuierlicher Qualitätssicherung: Always ready for release
Migration von SVN zu Git
- Migrationsstrategien
- Praktische Helferlein in der Migration
- SVN Layout
- Praktisches Beispiel
Bewertung der Schulung
Bereit für DevOps? Mit unseren Zusatzangeboten machen wir mehr aus deiner Schulung.
Individualisierung - Schulungen können mit speziellen Erweiterungen individualisiert werden. Dabei lassen sich Inhalte theoretisch und praktisch anpassen.