Zum Inhalt springen
Zum Hauptinhalt springen
DevOps

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

1

Feature-Branch-Workflow: Jedes neue Feature wird in einem eigenen Branch entwickelt, per Pull Request reviewed und nach Approval in main gemerged.

2

Gitflow: Strukturierter Workflow mit develop, release, hotfix und feature Branches – beliebt in Enterprise-Umgebungen mit festen Release-Zyklen.

3

GitHub Actions CI/CD: Bei jedem Push werden automatisch Tests ausgeführt, Linting geprüft und bei Merge in main ein Deployment getriggert.

4

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?

GitHub ist die größte Plattform mit dem besten Ökosystem (Actions, Copilot, NPM). GitLab bietet eine stärker integrierte DevOps-Plattform mit CI/CD, Registry und Security-Scanning out of the box. GitHub ist ideal für Open Source und Teams, die das GitHub-Ökosystem nutzen. GitLab eignet sich für Unternehmen, die eine All-in-One-DevOps-Plattform wollen, und bietet eine Self-Hosted-Option.

Git Merge oder Rebase?

Merge erstellt einen Merge-Commit und bewahrt die Branch-Historie. Rebase schreibt die Commits des Feature-Branches auf den aktuellen main um – sauberere, lineare Historie. Empfehlung: Rebase für Feature-Branches vor dem Merge (saubere Historie), Merge für den eigentlichen Branch-Merge in main (Traceability). Niemals öffentliche/shared Branches rebasen.

Brauche ich Git als Einzelentwickler?

Unbedingt. Auch als Solo-Entwickler bietet Git: vollständige Versionshistorie (bei Fehlern zurückspringen), Branching (Experimente ohne Risiko), Backup (Remote-Repository als Sicherung), und die Grundlage für CI/CD. Es gibt keinen Grund, Software ohne Versionskontrolle zu entwickeln.

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.

Nächster Schritt

Gemeinsam finden wir den besten Ansatz für Ihr Vorhaben.

Innerhalb weniger Tage wissen Sie, wie Ihr Projekt am besten starten kann.

30 Min. Strategiegespräch – 100% kostenlos & unverbindlich

Was ist Git & GitHub? Versionskontrolle erklärt