Zum Inhalt springen

Git

Männliche Person, frontal, schaut in die Kamera; trägt kariertes Hemd über dunkelfarbigem T‑Shirt; heller Innenraum mit unscharfem Monitor oder Poster links und Fenster rechts.

von Richard Albrecht am 30.10.2026

Git ist das Werkzeug, mit dem Entwicklerinnen und Entwickler jede Änderung an einem Projekt festhalten, zu früheren Ständen zurückkehren und mehrere Stände nebeneinander führen. Es läuft auf dem eigenen Rechner und braucht dafür keine Verbindung. Geschrieben hat es Linus Torvalds 2005 für die Arbeit am Linux-Kern.

Git

Das Werkzeug, das jede Änderung an einem Projekt festhält und mehrere Stände nebeneinander erlaubt.
Beispiel: „Das Projekt liegt in Git, jede Änderung ist mit Datum und Begründung nachvollziehbar.“

Auch: Versionsverwaltung, Versionskontrolle. Git ist die heute verbreitetste, aber nicht die einzige; ältere Projekte benutzen noch Subversion.

Abgrenzung zu GitHub: Git ist das Werkzeug, GitHub ein Dienst, der Repositorys im Netz hält und eine Oberfläche dazu anbietet. GitLab und Bitbucket tun dasselbe.

Die vier Orte, auf denen Git beruht

Vier Kästen nebeneinander: Arbeitsverzeichnis, Staging Area, lokales Repository und Remote. Dazwischen zeigen Pfeile nach rechts add, commit und push, darunter nach links fetch, pull und clone.
Wer die vier Orte vor Augen hat, liest jeden Befehl als Richtung.

Fast jeder Befehl bewegt etwas zwischen diesen vier Orten. Im Arbeitsverzeichnis liegen die Dateien, an denen du gerade arbeitest. Die Staging Area hält fest, was in den nächsten Schritt soll. Das lokale Repository enthält die Geschichte des Projekts, und das Remote ist derselbe Stand auf einem Server, zu dem alle Zugang haben.

Wer diese Aufteilung einmal verstanden hat, versteht die Befehle als Richtungen. Alles andere sind Feinheiten.

Die Befehle, die den Anfang ausmachen

Befehl

Was er tut

Richtung

clone

holt ein Repository zum ersten Mal auf den eigenen Rechner

vom Remote

add

merkt Änderungen für den nächsten Commit vor

ins Staging

commit

schreibt die vorgemerkten Änderungen in die Geschichte

ins lokale Repository

push

schiebt die eigenen Commits zum gemeinsamen Stand

zum Remote

fetch

holt den Stand des Remote, ohne etwas zu verändern

vom Remote

pull

holt den Stand und führt ihn mit dem eigenen zusammen

vom Remote

Nur push und fetch verlassen den eigenen Rechner. Alles andere lässt sich ohne Verbindung tun, und genau das unterscheidet Git von älteren Werkzeugen.

Warum der Einstieg in Git als schwer gilt

Weil die Begriffe aus der Sicht des Werkzeugs benannt sind und nicht aus der Sicht dessen, der damit arbeitet. „Staging Area“ sagt nichts über ihren Zweck, und dass `pull` zwei Dinge auf einmal tut, steht nirgends im Namen.

Dazu kommt, dass fast jedes Problem mehrere Lösungswege hat und die Suche im Netz meist den kompliziertesten zuerst anzeigt. Für den Alltag reichen die sechs Befehle aus der Tabelle; alles Weitere kommt, wenn es gebraucht wird.

Siehe auch:

Repository

Der Ort, an dem ein Projekt samt seiner gesamten Geschichte liegt.

#Deployment & Versionierung

Commit

Ein festgehaltener Stand des Projekts, mit Zeitpunkt, Urheber und Begründung.

#Deployment & Versionierung

Push (Git)

Das Übertragen eigener Commits zum gemeinsamen Stand.

#Deployment & Versionierung

Pull (Git)

Das Holen des Remote-Stands mit anschließendem Zusammenführen.

#Deployment & Versionierung

Clone (Git)

Das erstmalige Holen eines Repositorys samt seiner gesamten Geschichte.

#Deployment & Versionierung

Remote (Git)

Das Repository auf einem Server, auf das sich ein Team geeinigt hat.

#Deployment & Versionierung