Ist Git SCM dasselbe wie GitHub?

Programmierung

Kurz gesagt: nein. „Git SCM“ und GitHub sind zwei verschiedene Ebenen, die nur zufällig ähnlich klingen. Der Kern der Verwechslung liegt schon im Namen. „Git SCM“ ist kein eigenes Produkt, sondern eine gängige Bezeichnung für Git selbst – abgeleitet von der offiziellen Website git-scm.com und dem Begriff Source Code Management. GitHub dagegen ist ein kommerzieller Online-Dienst, der Git-Projekte im Web hostet. Der praktische Kern: Git installieren und nutzen Sie lokal; GitHub ist einer von mehreren Online-Diensten, um Git-Projekte zu teilen – und kein Pflichtbestandteil.

Woher kommt der Name „Git SCM“?

Wer nach Git sucht, landet fast immer auf git-scm.com. Das ist die offizielle Projektseite: Dort laden Sie Git für Windows, macOS und Linux herunter, finden die Dokumentation und das kostenlose Buch Pro Git. Weil die Domain so prominent ist, hat sich umgangssprachlich „Git SCM“ als Name für das Werkzeug eingebürgert – gemeint ist aber schlicht Git.

Das Kürzel SCM steht für Source Code Management (teils auch Source Control Management), also Quellcodeverwaltung. Es beschreibt eine ganze Kategorie von Werkzeugen, die Änderungen an Dateien nachverfolgen. Git ist ein Vertreter dieser Kategorie, ebenso wie ältere Systeme (CVS, Subversion) oder Konkurrenten (Mercurial). „Git SCM“ ist damit keine spezielle Variante von Git, sondern eine Beschreibung dessen, was Git ist: ein SCM-Werkzeug. Ob man Git nun als SCM oder VCS (Versionskontrollsystem) bezeichnet, ist eine Frage der Bezeichnung – mehr dazu unter /ist-git-ein-scm-oder-vcs/.

Was Git wirklich ist

Git ist ein verteiltes Versionskontrollsystem, 2005 von Linus Torvalds für die Entwicklung des Linux-Kernels geschaffen. „Verteilt“ heißt: Jeder Entwickler hat mit git clone eine vollständige Kopie der gesamten Historie auf dem eigenen Rechner. Sie können committen, Branches anlegen und Ihre Geschichte durchsuchen – komplett offline, ohne Server, ohne Konto.

Ein typischer Ablauf mit reinem Git, ganz ohne GitHub:

git init                 # neues Repository im aktuellen Ordner anlegen
git add .                # Änderungen zum nächsten Commit vormerken
git commit -m "Start"    # Snapshot mit Nachricht speichern
git log --oneline        # Historie ansehen
git branch feature-x     # neuen Branch erstellen

Alles davon läuft lokal. Git speichert die Daten im versteckten Ordner .git im Projektverzeichnis. Wenn Sie nie eine Zeile davon in die Cloud schieben, funktioniert Git trotzdem tadellos – es ist Ihr persönlicher Zeitstrahl für den Code.

Was GitHub ist

GitHub ist eine Hosting-Plattform, die Git-Repositories im Internet ablegt und um Zusammenarbeitsfunktionen ergänzt. Das Unternehmen wurde 2008 gegründet und 2018 von Microsoft übernommen. GitHub selbst nutzt Git – es ersetzt es nicht. Über das Web-Interface bekommen Sie:

  • Remote-Repositories, auf die mehrere Personen zugreifen
  • Pull Requests zum Review und Zusammenführen von Änderungen
  • Issues und Projektboards zur Aufgabenverwaltung
  • GitHub Actions für CI/CD (automatisiertes Testen und Deployen)
  • Zugriffsrechte, Releases, Wikis und eine Weboberfläche für den Code

Um ein lokales Projekt mit GitHub zu verbinden, fügen Sie ein Remote hinzu und schieben Ihre Commits hoch:

git remote add origin https://github.com/nutzer/projekt.git
git push -u origin main

Entscheidend: Der Befehl git push gehört zu Git, nicht zu GitHub. GitHub ist nur das Ziel, an das die Daten wandern. Genauso gut könnten Sie auf GitLab, Bitbucket, Codeberg oder einen eigenen Server pushen – der Git-Befehl bleibt identisch. GitHub ist also einer von vielen möglichen Aufbewahrungsorten für Git-Projekte, nicht der einzige.

Die Beziehung in einem Satz

Git ist das Werkzeug, GitHub ist ein Ort, an dem man mit diesem Werkzeug erzeugte Projekte lagert und teilt. Eine hilfreiche Analogie: Git verhält sich zu GitHub wie ein Textverarbeitungsprogramm zu einem Cloud-Speicher. Sie schreiben Dokumente lokal (Git) und können sie – müssen aber nicht – in einen Online-Dienst (GitHub) hochladen, um sie mit anderen zu teilen.

GitGitHub
WasVersionskontrollsystem (Software)Hosting-Plattform (Dienst)
Wolokal auf Ihrem Rechnerin der Cloud
Bezugeigenständig nutzbarbenötigt Git
AnbieterOpen-Source-ProjektMicrosoft
KostenkostenlosGratis-Tarif + kostenpflichtige Pläne

Typische Missverständnisse

„Ich muss GitHub installieren, um Git zu nutzen.“ Nein. Sie installieren Git von git-scm.com. GitHub ist eine Website, dort gibt es nichts zu installieren – höchstens optionale Hilfsprogramme wie GitHub Desktop oder die GitHub CLI (gh).

„Meinen Code auf GitHub zu haben, ist dasselbe wie ein Backup mit Git.“ Zwei verschiedene Dinge. Git sichert die Historie lokal. Liegt das Repository nur auf einem Rechner und dieser geht kaputt, hilft Ihnen die lokale Historie wenig. GitHub (oder ein anderes Remote) dient hier als externe Kopie.

„Ohne GitHub kann ich nicht im Team arbeiten.“ Doch. Git wurde von Grund auf für verteilte Zusammenarbeit gebaut. Sie können Änderungen per Patch-Datei austauschen oder auf jedes beliebige Remote pushen. GitHub macht die Zusammenarbeit nur bequemer, ist aber keine Voraussetzung.

Wenn Sie tiefer einsteigen möchten, welche Aufgaben die offizielle Git-Distribution abdeckt, hilft /wofuer-wird-git-scm-verwendet/. Fragen zum Datenschutz auf der Plattform beantwortet /ist-github-sicher-fuer-private-informationen/.

FAQ

Ist „Git SCM“ eine andere Version von Git? Nein. „Git SCM“ ist keine Spezialausgabe, sondern nur eine umgangssprachliche Bezeichnung für Git, entstanden durch die offizielle Website git-scm.com. Sie laden dort die ganz normale Git-Software herunter.

Kann ich Git ohne GitHub verwenden? Ja, vollständig. Git funktioniert lokal ohne jedes Konto und ohne Internetverbindung. GitHub brauchen Sie erst, wenn Sie Ihr Repository online hosten oder mit anderen über eine gemeinsame Web-Plattform zusammenarbeiten wollen.

Was ist die Alternative zu GitHub? Es gibt mehrere Git-Hosting-Dienste mit ähnlichem Funktionsumfang, etwa GitLab, Bitbucket oder das quelloffene Codeberg. Da alle dieselben Git-Befehle verwenden, lässt sich ein Projekt mit git remote jederzeit von einem Anbieter zum nächsten umziehen.