Veröffentlicht am: 24. September 2026
7 Minuten Lesezeit
Jede Änderung am Code nachvollziehen, parallel am selben Projekt arbeiten und bei Bedarf zu einem früheren Stand zurückkehren: Dafür ist Git gebaut.

Git gehört heute zum Grundhandwerk der Softwareentwicklung. Dieser Leitfaden beginnt bei der Frage, was Versionskontrolle überhaupt leistet, und führt über die Arbeitsweise von Git bis zu den Befehlen für die ersten Schritte. Er richtet sich an Einsteiger(innen) ebenso wie an erfahrene Entwickler(innen), die ihr Verständnis von Git vertiefen möchten.
Inhalt
Git ist ein verteiltes Versionskontrollsystem. Es hält jede Änderung an einem Projekt fest, jeweils mit Zeitpunkt, Autor(in) und einer Beschreibung, und macht so nachvollziehbar, wie ein bestimmter Stand des Codes entstanden ist. Der sichere Umgang mit Git gehört deshalb zu den Grundfähigkeiten in der Softwareentwicklung.
Die Versionskontrolle verfolgt, wie sich der Quellcode einer Software verändert. Eine ausgelieferte Softwareversion setzt sich aus bestimmten Ständen aller Komponenten und Dateien zusammen, und diese Stände entwickeln sich unterschiedlich: Ein Icon ändert sich vielleicht zweimal, eine zentrale Codedatei dutzende Male. Versionskontrolle bildet damit das Fundament von DevOps. Ohne sie lassen sich Änderungen weder zuverlässig zusammenführen noch prüfen oder reproduzieren.

Jede Datei in einem Git-Repository durchläuft drei Zustände. Geändert (modified) ist sie, sobald sie im Arbeitsverzeichnis bearbeitet wurde. Mit git add wird sie für den nächsten Commit vorgemerkt (staged). Mit git commit wird dieser Stand schließlich dauerhaft im lokalen Repository gespeichert (committed).
Die Zwischenstufe hat einen praktischen Zweck. Ein Commit enthält genau die Änderungen, die bewusst vorgemerkt wurden, und nicht zwangsläufig alles, was sich im Arbeitsverzeichnis gerade geändert hat. So lassen sich zusammengehörige Änderungen in einem Commit bündeln, während andere für später liegen bleiben.
Da die meisten Git-Operationen dem Repository nur Daten hinzufügen, geht ein einmal festgehaltener Stand kaum versehentlich verloren. Teams können deshalb experimentieren, ohne dauerhaften Schaden am Quellcode zu riskieren, und bei Problemen jederzeit zu einer früheren Version zurückkehren.
Ohne sorgfältig verwaltete Änderungen lassen sich Konsistenz und Verlässlichkeit in einem Entwicklungsteam kaum sicherstellen. Wer genau weiß, was sich wann geändert hat, findet zudem die Ursache eines Fehlers leichter und vermeidet Konflikte oder überschriebene Dateien. Git ist darauf ausgelegt, genau diese Verwaltung zu erleichtern. Drei Funktionen tragen besonders dazu bei.
Der Commit-Verlauf ist die Grundlage, um die Entwicklung eines Projekts in Git nachzuvollziehen. Jeder Commit hält zwei Dinge fest:
Das Team versteht so auch Wochen später noch, weshalb eine Codezeile so aussieht, wie sie aussieht.
Der Verlauf dient aber nicht nur der Dokumentation. Über ihn lassen sich Änderungen gezielt rückgängig machen, ältere Stände wiederherstellen oder einzelne Änderungen von einem Branch in einen anderen übernehmen. Das stärkt Transparenz und Codequalität, erleichtert die Zusammenarbeit im Team und hilft bei der Fehlersuche.
Wie der erste eigene Commit entsteht, zeigt das Tutorial Den ersten Git-Commit erstellen.
Git arbeitet verteilt (Distributed development). Jedes Teammitglied besitzt eine vollständige Kopie des Repositorys samt Verlauf und versioniert Änderungen zunächst lokal. Mehrere Personen können so gleichzeitig am selben Projekt arbeiten, jede an ihrer eigenen Funktion, ohne sich gegenseitig Dateien zu überschreiben. Neue Ideen lassen sich ausprobieren, ohne die Arbeit der Kolleg(inn)en zu berühren.
Die verteilte Arbeitsweise macht Teams zudem unabhängiger vom zentralen Server. Fällt er aus, arbeitet jede Person an ihrer lokalen Kopie weiter und gleicht ihre Änderungen ab, sobald der Server wieder erreichbar ist. Die Entwicklungsarbeit muss dafür nicht unterbrochen werden, und für Betriebsteams entspannt sich die Planung von Wartung und Updates.
Branching und Merging gehören zu den wichtigsten Funktionen von Git. Jede neue Funktion und jede Fehlerkorrektur entsteht in einem eigenen Branch, wird dort unabhängig entwickelt und getestet und erst dann in den Hauptbranch übernommen, wenn sie verlässlich funktioniert. Da Branches in Git leichtgewichtig sind, lassen sie sich ohne nennenswerten Aufwand anlegen, zusammenführen und wieder löschen.
So bleibt nachvollziehbar, wie sich der Code entwickelt. Konflikte zwischen Versionen werden seltener, und neue Funktionen fließen kontinuierlich in den Hauptbranch ein. Teams können auf dieser Grundlage agil arbeiten und regelmäßig neue Versionen ausliefern, bei geringerem Fehlerrisiko.
Aus diesen Funktionen ergeben sich für Entwicklungsteams mehrere Vorteile:
Git wird häufig über die Kommandozeile bedient. Unter Windows steht dafür Git Bash bereit, ein Bash-Terminal-Emulator mit integrierter Git-Version. Die folgenden Befehle decken den typischen Arbeitsablauf ab, vom Anlegen eines Repositorys bis zum Abgleich mit dem Team:
git init: ein neues Git-Repository anlegen.git clone [url]: ein bestehendes Repository klonen.git add [datei]: eine Datei für den nächsten Commit vormerken.git commit: die vorgemerkten Änderungen im lokalen Repository festhalten.git commit -m "nachricht": dasselbe, mit der Commit-Nachricht direkt im Befehl.git status: den Zustand der Dateien im Arbeitsverzeichnis anzeigen.git push: lokale Commits in das entfernte Repository übertragen und damit für das Team verfügbar machen.git pull: Änderungen aus dem entfernten Repository abrufen und mit dem lokalen Stand zusammenführen.Für den Einstieg reichen diese Befehle aus. Einen vollständigen Überblick über alle weiteren bietet die Referenz der Git-Befehle.
GitLab ist eine kollaborative Open-Source-Plattform für die Softwareentwicklung, die alle Phasen des DevSecOps-Lebenszyklus abdeckt. Im Kern stellt GitLab einen Git-Server bereit, über den Teams ihre Repositories gemeinsam verwalten.
Auf dieser Grundlage bündelt GitLab weitere Schritte des Entwicklungsprozesses in einer Plattform: von der Planung und Aufgabenverfolgung über Continuous Integration und Continuous Delivery, Sicherheits- und Incident-Management bis zum Monitoring von Deployments, zur Release-Verwaltung und zur Dokumentation. Jeder dieser Schritte bleibt dabei mit dem zugrunde liegenden Code verknüpft und damit nachvollziehbar.
Git ermöglicht es Entwicklungsteams, gleichzeitig am selben Projekt zu arbeiten, ohne sich gegenseitig zu behindern. Branches halten die Arbeit einzelner Personen voneinander getrennt, und Merges führen sie kontrolliert wieder zusammen. Versionskonflikte werden dadurch seltener und lassen sich gezielt auflösen, wenn sie doch auftreten.
Ja. Git ist freie Open-Source-Software und kostenlos nutzbar. Um damit zu arbeiten, muss Git zunächst auf dem eigenen Rechner installiert werden.
Ein Branch ist in Git ein Zeiger auf den jüngsten Commit einer Entwicklungslinie. Mit jedem neuen Commit rückt dieser Zeiger weiter. So lassen sich beliebig viele Branches parallel führen, jeder mit eigenem Verlauf und alle mit einem gemeinsamen Ursprung.
Ein Commit ist ein festgehaltener Stand der Änderungen am Quellcode. Jeder Commit trägt eine Nachricht, die erklärt, was geändert wurde. Aus der Abfolge der Commits entsteht der Verlauf eines Projekts, über den sich jederzeit zu einer früheren, funktionierenden Version zurückkehren lässt.
Branches erlauben es, an mehreren Funktionen gleichzeitig und unabhängig voneinander zu arbeiten. Unfertiger oder instabiler Code bleibt dabei im eigenen Branch und gefährdet den Hauptbranch (main) nicht. Zudem sind Branches in Git deutlich leichtgewichtiger umgesetzt als in vielen anderen Versionskontrollsystemen.
Kostenlose 30-tägige
GitLab-Testversion starten
Keine Kreditkarte erforderlich.
Hat dir dieser Blogbeitrag gefallen? Hast du Fragen oder Feedback? Erstelle ein neues Diskussionsthema im GitLab-Community-Forum und lass andere an deinen Eindrücken teilhaben.
Feedback teilenBeginne noch heute, schneller zu entwickeln
Entdecke, was dein Team mit der intelligenten Orchestrierungsplattform für DevSecOps erreichen kann.