Git Schulung – Moderne Versionsverwaltung aus der Praxis
Die beste Git Schulung aus der Praxis! Lerne wie Git den Lebenszyklus einer Softwareänderungen meistert. Verbessere deine Versionsverwaltung!
Beschreibung
Git ist als Versionsverwaltung das Rückgrat eines jeden modernen Softwareentwicklungsprozesses und ein zentrales System im Lebenszyklus einer Softwareänderung. Jedoch bietet es auch Konzepte zur Behandelung und Verwaltung von übergeordneten Releases. Dabei löst es Anforderungen an Transparenz und Nachvollziehbarkeit, ohne Teams in eine bürokratische Sackgasse zu führen. Diese Git Schulung gibt dir eine praktische Einführung in die Versionskontrolle mit dem Fokus auf die damit möglichen Softwareentwicklungsprozesse. Ziel ist keine Enzyklopädie, die alle Kommandos in allen verschiedenen Varianten beleuchtet. Vielmehr geht es um die wichtigsten Kommandos, Best Practices und Workflows und im täglichen Einsatz eines Entwicklungsprozesses. 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.
Ziel der Schulung ist es, neutral und unabhängig von einem bestimmten Codemanagementsystem zu bleiben (wie zum Beispiel Bitbucket). Solltet ihr jedoch ein spezielles System bevorzugen, könnt ihr die Schulung mit weiteren Schulungen kombinieren:
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 siehst du Git nicht nur als Versionsverwaltungssystem, sondern verstehst, wie ein modernes Codemanagement auf praxiserprobten Softwareentwicklungsprozessen funktioniert. Du gewinnst Vertrauen in das Tooling und hast keine Hemmungen, den Funktionsumfang in deine tägliche Arbeit zu integrieren. Sicherheitskopien vor speziellen Kommandos (z.B. Reset, Rebase usw.) gehören der Vergangenheit an. Darüber hinaus verstehst du den Mehrwert dieser Systeme, kannst damit moderne Softwareentwicklungsprozesse umsetzen und in deinem Unternehmen etablieren.
Hinsichtlich Teamwork erlangst du die Fähigkeiten, den vollen Funktionsumfang anzuwenden, was deinem Team, aber auch dir als Teammitglied eine komplett neue Herangehensweise bezüglich der Entwicklungsprozesse ermöglicht. Dabei stehen nicht nur Kommandos im Vordergrund, sondern auch Review-Management, Social Engineering, Know-how-Transfer und mehr. Wir lernen verschiedene Workflows kennen und wie dich diese mit modernen Codemanagementsystemen in deinem Softwareentwicklungsprozess unterstützen und beleuchten Vor- und Nachteile. Zusätzlich wirst du in der Lage sein, fortschrittliche Features wie Branching-Strategien, Merge-Strategien und Konfliktlösungen effektiv zu nutzen.
Ziel hierbei ist es, dass du nach der Schulung selbst entscheiden kannst, welcher Workflow sich für dich, dein Team oder dein Unternehmen am besten eignet. Du wirst auch in der Lage sein, maßgeschneiderte Workflows zu erstellen, die spezifischen Projektanforderungen gerecht werden, und die besten Praktiken für Code-Reviews und Versionskontrolle zu implementieren.
Durch wirst in Verbindung mit anderen modernen Tools und Methoden ein ganzheitliches Verständnis dafür entwickeln, wie du den gesamten Softwareentwicklungszyklus verbessern kannst. Dies umfasst nicht nur die technische Umsetzung, sondern auch die Förderung einer kollaborativen und produktiven Teamkultur.
Zielgruppe
Du möchtest deine Projekte/Produkte von SVN zu Git migrieren, Know-how in deinem Unternehmen aufbauen oder deine Softwareentwicklungsprozesse modernisieren? Dann ist diese Schulung für dich geeignet! Sie ist so aufgebaut, dass Personen, die Softwareentwicklungsprozesse oder Versionskontrollsysteme erlernen möchten, einen Mehrwert aus dem Seminar ziehen – egal, ob Teamlead, Softwareentwickelnde, DevOps-Engineers oder ganze Entwicklungsteams.
Inhalt
Deine Git Schulung – Softwareentwicklungsprozesse und Git Basics
- Zielsetzung: Der moderne Softwareentwicklungsprozess
- Softwareentwicklungsprozesse aus Sicht der Dev-Teams und aus Sicht von Process-Ownern
- Generelle Konzepte aus der Vogelperspektive
- Die verschiednen 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 Logs 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
- Das 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
- Large File Storage (LFS) – wohin mit meinen Binaries?
Codemanagement und Releasemanagement
- Mit Codemangement zum modernen Entwicklungsprozess
- Overall Workflows (Gitflow, Trunk-Workflow, Fork-Workflow)
- Reviewmanagement (inkl. Pull-Requests, Maintainer-Konzept)
- Social Engineering und Know-how-Plattform
- Workflows für 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
- Optimale Branch Struktur für Continuous Integration, Delivery und Deployment
- Integrationsmöglichkeiten in Jira und Anbindung an das übergeordnete Sprint- und Releasemanagement
- Integrationsmöglichkeiten in Bamboo/Jenkins
- Demonstration zum Mitmachen – der komplette Lebenszyklus einer Codeänderung vom Melden eines Bugs über die Einplanung in einem Release, Fix und Review bis zum Delivery
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.