Git / GitHub
Git ist ein Versionskontrollsystem zur Nachverfolgung von Code-Änderungen. GitHub und GitLab sind Plattformen für kollaborative Entwicklung mit Code-Review und CI/CD.
Git ist das Fundament der modernen Softwareentwicklung. Über 90% aller Entwickler weltweit nutzen Git für Versionskontrolle. Es ermöglicht Teams, gleichzeitig am selben Code zu arbeiten, Änderungen nachzuverfolgen und bei Problemen zu früheren Versionen zurückzukehren. GitHub, GitLab und Bitbucket erweitern Git um Collaboration-Features wie Pull Requests, Code Reviews und CI/CD-Pipelines.
Was ist Git / GitHub?
Git ist ein verteiltes Versionskontrollsystem (DVCS), das 2005 von Linus Torvalds (Linux-Erfinder) entwickelt wurde. Jeder Entwickler hat eine vollständige Kopie des Repositories mit der gesamten Versionshistorie. Änderungen werden in Commits festgehalten, die eine Snapshot des Projektzustands darstellen. Branches ermöglichen parallele Entwicklungsstränge (Features, Bugfixes) ohne sich gegenseitig zu beeinflussen. GitHub (Microsoft) und GitLab sind webbasierte Plattformen, die Git-Repositories hosten und um Features erweitern: Pull/Merge Requests für Code-Review, Issues für Bug-Tracking, Actions/Pipelines für CI/CD und Wikis für Dokumentation.
Wie funktioniert Git / GitHub?
Der Git-Workflow: 1) Clone/Init: Repository erstellen oder klonen. 2) Branch: Neuen Branch für ein Feature oder Bugfix erstellen (git checkout -b feature/login). 3) Commit: Änderungen in logischen Einheiten festhalten mit beschreibenden Messages. 4) Push: Lokale Commits zum Remote-Repository (GitHub/GitLab) hochladen. 5) Pull Request: Code-Review durch Teamkollegen mit Kommentaren und Diskussion. 6) Merge: Nach Approval wird der Branch in den Hauptbranch (main) integriert. 7) CI/CD: Automatische Tests und Deployment bei jedem Merge. Git nutzt SHA-1-Hashes für jeden Commit, was die Integrität der Versionshistorie kryptografisch sichert.
Praxisbeispiele
Feature-Branch-Workflow: Jedes neue Feature wird in einem eigenen Branch entwickelt, per Pull Request reviewed und nach Approval in main gemerged.
Gitflow: Strukturierter Workflow mit develop, release, hotfix und feature Branches – beliebt in Enterprise-Umgebungen mit festen Release-Zyklen.
GitHub Actions CI/CD: Bei jedem Push werden automatisch Tests ausgeführt, Linting geprüft und bei Merge in main ein Deployment getriggert.
Inner Source: Große Unternehmen nutzen GitLab intern für Open-Source-ähnliche Zusammenarbeit zwischen Teams und Abteilungen.
Typische Anwendungsfälle
Versionskontrolle: Nachverfolgung aller Code-Änderungen mit vollständiger Historie und Rollback-Möglichkeit
Teamzusammenarbeit: Parallele Entwicklung an verschiedenen Features ohne Konflikte
Code-Review: Strukturierter Review-Prozess für Qualitätssicherung und Wissenstransfer
CI/CD: Automatisierte Build-, Test- und Deployment-Pipelines bei Code-Änderungen
Open Source: GitHub ist die zentrale Plattform für Open-Source-Projekte und Community-Beiträge
Vorteile und Nachteile
Vorteile
- Vollständige Historie: Jede Änderung ist nachvollziehbar und rückgängig zu machen
- Parallele Entwicklung: Branches ermöglichen Feature-Entwicklung ohne Interferenz
- Verteilt: Jeder Entwickler hat eine vollständige Kopie – funktioniert auch offline
- Code-Qualität: Pull Requests und Reviews verbessern die Code-Qualität systematisch
- Ökosystem: GitHub Actions, GitLab CI, Integrations mit Jira, Slack und mehr
Nachteile
- Lernkurve: Git-Konzepte (Rebase, Cherry-Pick, Merge-Konflikte) erfordern Einarbeitung
- Merge-Konflikte: Wenn mehrere Entwickler denselben Code ändern, müssen Konflikte manuell gelöst werden
- Große Dateien: Git ist für Text-Code optimiert – große Binärdateien erfordern Git LFS
- Komplexe Historie: Ohne Konventionen (Conventional Commits) wird die Git-Historie schnell unübersichtlich
Häufig gestellte Fragen zu Git / GitHub
GitHub oder GitLab?
Git Merge oder Rebase?
Brauche ich Git als Einzelentwickler?
Verwandte Begriffe
Git / GitHub in Ihrem Projekt einsetzen?
Wir beraten Sie gerne zu Git / GitHub und finden die optimale Lösung für Ihre Anforderungen. Profitieren Sie von unserer Erfahrung aus über 200 Projekten.