Aktualisiert am 9. Oktober 2026
Kurzantwort
Git ist ein verteiltes Versionskontrollsystem, das häufig zur Verwaltung und Verfolgung von Änderungen in Softwareprojekten verwendet wird. Du speicherst damit Schnappschüsse deines Projekts („Commits"), kannst jederzeit zu älteren Ständen zurückspringen und in Ruhe an neuen Funktionen arbeiten, ohne die funktionierende Version zu gefährden. Git ist kostenlos, Open Source (GPLv2) und läuft lokal auf Windows, macOS und Linux. GitHub ist dagegen ein Online-Dienst, der Git-Projekte hostet.
Wofür brauchst du Git?
Ohne Versionskontrolle landen Projekte schnell bei Dateinamen wie final_v2_neu_WIRKLICH-final.zip. Git löst das sauber:
- Verlauf: Jede Änderung ist mit Autor, Datum und Beschreibung nachvollziehbar.
- Rückgängig machen: Ein Fehler von gestern lässt sich gezielt zurücknehmen.
- Parallel arbeiten: Mehrere Personen oder Features entwickeln gleichzeitig, ohne sich gegenseitig zu stören.
- Backup nebenbei: Jede Kopie eines Repositorys enthält die komplette Historie.
Git ist nicht auf Code beschränkt. Es eignet sich für alle Textdateien, etwa Dokumentationen, Konfigurationen oder Markdown-Notizen. Für große Binärdateien wie Videos ist es ohne Erweiterungen wie Git LFS weniger geeignet.
Kurze Geschichte
Linus Torvalds, der Erfinder von Linux, veröffentlichte Git am 7. April 2005 nach nur kurzer Entwicklungszeit. Anlass: Der Linux-Kernel durfte das bis dahin genutzte kommerzielle System BitKeeper nicht mehr kostenlos verwenden. Seit Juli 2005 betreut Junio Hamano das Projekt. Heute ist Git mit großem Abstand das meistgenutzte Versionskontrollsystem. In der Stack-Overflow-Umfrage 2022 gaben 93,9 Prozent der Entwickler an, Git zu nutzen.
Die Grundbegriffe
| Begriff | Bedeutung |
|---|---|
| Repository (Repo) | Projektordner samt kompletter Versionsgeschichte (im versteckten Unterordner .git) |
| Commit | gespeicherter Schnappschuss mit Nachricht, eindeutig über eine Prüfsumme (Hash) |
| Staging Area | Zwischenbereich: Hier sammelst du, was in den nächsten Commit soll |
| Branch | eigenständige Entwicklungslinie, z. B. für ein neues Feature |
| Merge | Zusammenführen zweier Branches |
| Remote | entfernte Kopie des Repos, z. B. auf GitHub, GitLab oder einem eigenen Server |
| Clone / Push / Pull | Repo kopieren / eigene Commits hochladen / fremde Commits holen und einarbeiten |
Die drei Bereiche
Git-Einsteiger stolpern am häufigsten über das Staging. Eine Änderung durchläuft drei Stationen:
- Arbeitsverzeichnis: Du bearbeitest Dateien ganz normal.
- Staging Area: Mit
git addmarkierst du, welche Änderungen in den nächsten Commit sollen. - Repository: Mit
git commitwird der Schnappschuss dauerhaft gespeichert.
So kannst du aus vielen Änderungen gezielt thematisch passende Commits bauen.
Verteilt statt zentral
| Zentral (z. B. Subversion/SVN) | Verteilt (Git) | |
|---|---|---|
| Versionsgeschichte | nur auf dem Server | vollständig auf jedem Rechner |
| Offline arbeiten | eingeschränkt | Commits, Branches, Verlauf funktionieren offline |
| Geschwindigkeit | viele Aktionen brauchen den Server | die meisten Aktionen laufen lokal |
| Branches | eher schwergewichtig | leichtgewichtig, alltäglich |
Git ausprobieren: die ersten Befehle
- Installieren: Unter Windows über „Git for Windows" von git-scm.com, unter macOS etwa über die Xcode Command Line Tools oder Homebrew, unter Linux über den Paketmanager (z. B.
sudo apt install git). - Einmalig Name und E-Mail setzen:
bash
git config --global user.name "Anna Beispiel"
git config --global user.email "[email protected]"
- Repository anlegen und ersten Commit machen:
bash
mkdir mein-projekt && cd mein-projekt
git init
echo "# Mein Projekt" > README.md
git add README.md
git commit -m "Erster Commit: README angelegt"
- Status und Verlauf ansehen:
git statuszeigt, was geändert und was vorgemerkt ist.git log --onelinelistet die Commits. - Feature-Branch anlegen, arbeiten, zusammenführen:
bash
git switch -c neue-funktion
# Dateien ändern, dann:
git add .
git commit -m "Neue Funktion ergänzt"
git switch main
git merge neue-funktion
Heißt dein Standard-Branch noch master, ersetze main entsprechend.
- Mit einem Remote verbinden:
git remote add origin <URL>und danachgit push -u origin main.
Tipp: Lege früh eine Datei .gitignore an. Darin trägst du ein, was nicht versioniert werden soll, etwa node_modules/, Build-Ordner oder Dateien mit Passwörtern und API-Schlüsseln.
Git und GitHub: nicht dasselbe
Git ist das Werkzeug auf deinem Rechner. GitHub, GitLab oder Bitbucket sind Plattformen, auf denen Git-Repositorys online liegen, ergänzt um Funktionen wie Pull Requests, Issues und automatisierte Tests. Du kannst Git ganz ohne GitHub nutzen, GitHub baut dagegen auf Git auf. Was GitHub genau bietet, erklärt der Artikel Was ist GitHub? Funktionen, Kosten und Einstieg erklärt.
In Teams gehört Git heute zur Grundausstattung. Wie Versionskontrolle mit sauberen Abläufen zusammenspielt, ist auch ein Thema beim digitalen Projektmanagement.
Aktueller Stand: Git 2.x und Git 3.0
Git erscheint regelmäßig in neuen 2.x-Versionen, laut git-scm.com ist Version 2.55.0 vom 29. Juni 2026 der aktuelle Stand. Für das nächste große Release Git 3.0 plant das Projekt mehrere Änderungen, ein Termin steht laut offizieller Dokumentation noch nicht fest:
- SHA-256 statt SHA-1 als Standard-Hashverfahren für neue Repositorys. Bestehende SHA-1-Repos bleiben nutzbar.
mainstattmasterals Standardname des ersten Branches, wie bei den großen Plattformen längst üblich.- Reftable als neues Standardformat für die interne Speicherung von Branches und Tags.
- Rust wird Pflichtbestandteil beim Kompilieren von Git.
Für dich als Nutzer ändert sich im Alltag wenig. Die Befehle bleiben gleich.
FAQ
Ist Git kostenlos?
Ja. Git ist Open-Source-Software unter der GPLv2 und kostenlos, auch für kommerzielle Projekte.
Brauche ich die Kommandozeile?
Nein. Viele Code-Editoren haben eine Git-Integration, dazu gibt es grafische Programme. Grundbefehle auf der Kommandozeile helfen aber, zu verstehen, was im Hintergrund passiert.
Wie mache ich einen Commit rückgängig?
Für bereits geteilte Commits nutzt du git revert <hash>. Das erzeugt einen neuen Commit, der die Änderung umkehrt. git reset schreibt die Geschichte um und sollte nur für lokale, noch nicht gepushte Commits verwendet werden.
Was bedeutet „HEAD"?
HEAD zeigt auf den Commit bzw. Branch, auf dem du gerade arbeitest. Wechselst du mit git switch den Branch, wandert HEAD mit.







