
Wenn du schon einmal etwas über Coding, Programmierung oder Softwareentwicklung gelesen hast, bist du Git begegnet.
Dieses praktische (und kostenlose) Tool ist das weltweit beliebteste Versionskontrollsystem. Es ist so verbreitet, dass es von mehr als 90% der professionellen Entwickler genutzt wird – und von vielen Profis in anderen Disziplinen ebenfalls.
In vielerlei Hinsicht ist Git fast gleichbedeutend mit Versionskontrolle. Aber was ist Versionskontrolle eigentlich – und warum ist sie so wichtig?
Begleite uns auf einen Deep Dive ins Gitverse. Wir schauen uns an, was Git ist, wer es nutzt und wie es entstanden ist.
Was ist Git?
Git ist ein verteiltes Versionskontrollsystem (dVCS). Wie der Name vermuten lässt, geht es bei Versionskontrolle darum, verschiedene Versionen eines Projekts zu steuern und nachzuverfolgen.
Was ist ein Versionskontrollsystem (VCS)?
Ein VCS protokolliert und speichert Änderungen an einer Datei (oder einer Gruppe von Dateien), sodass du bei Bedarf bestimmte Iterationen später wiederherstellen kannst. VCS werden auch als Source Code Management (SCM) oder Revision Control Systems (RCS) bezeichnet.
Versionskontrolle ermöglicht es vielen Teammitgliedern, gemeinsam an einem Projekt zu arbeiten – selbst wenn sie nicht im selben Raum oder nicht einmal im selben Land sitzen.
Stell dir zum Beispiel vor, du bist Songwriter. Du arbeitest zu Hause fleißig an einem neuen Song, bist aber noch nicht ganz zufrieden. Also entscheidest du dich, mit zwei weiteren Songwritern an den Stellen zu feilen, die noch Luft nach oben haben.
Du und die beiden anderen Autorinnen und Autoren nehmt unabhängig voneinander Änderungen an Text und Partitur vor. Als dir die anderen Musiker ihre Versionen schicken, gefallen dir einige Änderungen – andere eher nicht.
Jetzt stell dir vor, du könntest jede einzelne Änderung in jeder Version sehen, sie ausprobieren und die besten Anpassungen über die Versionen hinweg synchronisieren.
Genau das ermöglicht Git. Einzelne Personen können lokal (auf ihrem eigenen Rechner) an einem Projekt arbeiten, funktionierende Änderungen speichern und diese anschließend in ein Git-Repository synchronisieren, damit andere die neue Version sehen können.
Git gilt zwar vor allem als Tool für die Softwareentwicklung – was es auch ist –, lässt sich aber für die Versionskontrolle beliebiger Dateien einsetzen: sei es Code, ein Design-Layout für eine Website oder ein Song.
Die Vorteile der Versionskontrolle
Neben der Unterstützung für kollaboratives Arbeiten bietet Versionskontrolle weitere Vorteile:
- Nachvollziehbare Änderungen. Jede Änderung lässt sich einer Person im Team zuordnen.
- Granulares Tracking erleichtert das Zurücksetzen. Weil wirklich jede Änderung protokolliert wird – auch die kleinsten –, kannst du bei Bedarf leicht auf eine frühere Version zurückspringen. In der Softwareentwicklung ist das Gold wert.
- Bessere Ordnung und Kommunikation. Commit-Messages, also kurze Hinweise, warum du etwas geändert hast, fördern die Kommunikation im Team. Außerdem helfen sie dir selbst, wenn du später nicht mehr weißt, was du damals geändert hast.
- Gleichzeitiges Arbeiten. In Softwareprojekten gibt es viele Änderungen am Quellcode – oft parallel durch mehrere Entwickler. Eine Person härtet den Code ab, eine andere baut ein neues Feature. Git erlaubt paralleles Arbeiten und hilft, Konflikte zwischen Änderungen zu vermeiden.
- Branching und Merging. Teammitglieder können eigene Branches erstellen, darauf arbeiten und ihre Änderungen anschließend mit dem Hauptzweig zusammenführen. Branches sind temporär und lassen sich nach dem Merge löschen.
Ist Git das einzige Versionskontrollsystem?
Nein, Git ist nicht das einzige VCS, aber es ist das beliebteste und gilt als De-facto-Standard. Weitere verbreitete Systeme sind Fossil, Mercurial und Subversion.
Zwischen den Systemen gibt es Unterschiede – etwa beim Umgang mit Kernfunktionen wie Branching und Merging –, das Grundprinzip ist jedoch ähnlich. Der größte Unterschied ist, ob sie zentralisiert oder verteilt sind.
Zentralisierte und verteilte Versionskontrollsysteme
Beide Varianten – zentralisierte und verteilte Systeme wie Git – erfüllen denselben Zweck.
Der entscheidende Unterschied: Zentralisierte Systeme haben einen zentralen Server, auf den Teammitglieder ihre neuesten Arbeitsstände pushen. Das ist in etwa so, als gäbe es ein einziges zentrales Projekt, das alle teilen.
Bei verteilten VCS haben Teammitglieder eine lokale Kopie (Clone) der gesamten Projektgeschichte auf ihrem Gerät und müssen nicht online sein, um zu arbeiten oder Änderungen vorzunehmen. Anstelle eines zentralen Servers beziehen sie diesen Clone aus einem Online-Repository.
Wenn Entwickler mit Git arbeiten, ist der Clone jedes Teammitglieds ein Repository, das alle Änderungen seit Projektbeginn enthalten kann.
Die Geschichte von Git
Git wurde 2005 vom finnischen Softwareingenieur Linus Torvalds entwickelt, der auch den Linux-Kernel geschaffen hat.
Git entstand aus einer akuten Notwendigkeit. Zuvor nutzten Linux-Entwickler weltweit die proprietäre Software BitKeeper, selbst ein dVCS.
Weil die Software einem Unternehmen gehörte, führte das zu Spannungen in der Linux-Community, die stark dem Open-Source-Gedanken verpflichtet ist.
Als Gegenleistung für die kostenlose Nutzung verhängte BitMover, das Unternehmen hinter BitKeeper, Auflagen für die Linux-Community. Laut dem Linux Journal durften sie unter anderem nicht an konkurrierenden Versionskontrollprojekten arbeiten.
Wie zu erwarten, begann ein Linux-Entwickler, BitKeeper per Reverse Engineering nachzubauen, um ein Open-Source-Produkt zu schaffen. BitMover hielt sein Wort, stellte die Unterstützung für den Linux-Kernel ein, und das verteilte Entwicklungsmodell geriet ins Wanken.
Um das zu lösen, legte Torvalds zum ersten Mal seit 1991 die Arbeit an Linux auf Eis und entwickelte Git – eine stabile Version erschien nur wenige Monate später.
Interessant: Bevor der Linux-Kernel überhaupt BitKeeper nutzte, schickten Entwickler Torvalds ihre Patches (Änderungen) einzeln, und er integrierte sie nach Bedarf. Und 2016, elf Jahre nach der Veröffentlichung von Git, wurde BitKeeper selbst Open Source.
Wie kam Git zu seinem Namen?
Bei Linus Torvalds’ erstem Code-Commit an Git im Jahr 2005 ergänzte er eine Readme-Datei, die Einblicke in die Namensgebung gibt. Hier ein Ausschnitt daraus:

Wenn dir nicht die „gesäuberte“ Variante Global Information Tracker lieber ist, ist der Name Git eine augenzwinkernde Anspielung auf seine Fähigkeiten – oder angebliche Nicht-Fähigkeiten.
Die Geschichte der Versionskontrolle
Versionskontrollsysteme gibt es schon länger als Git oder sogar BitKeeper. Ein kurzer Zeitstrahl:
- 1972 – SCCS, das erste VCS, wird in den Bell Labs entwickelt. Es hat mit heutigen Systemen nur wenig gemeinsam.
- 1982 – Das Revision Control System (RCS) entsteht an der Purdue University.
- 1986 – Das Concurrent Versions System (CVS) wird entwickelt. Es ist das erste VCS mit einem zentralen Repository für mehrere Nutzer.
- 1995 – Perforce, ein bis heute verbreitetes VCS, erscheint.
- 2000 – Subversion (auch SVN) kommt als weiterentwickeltes System auf, ebenso BitKeeper – eines der ersten dVCS und maßgeblich für die Popularisierung verteilter Systeme.
- 2005 – Git wird erfunden und wird rasch zum Standard für Entwickler weltweit.
Git und GitHub, Versionskontrolle und Repositories
Git und GitHub ergänzen sich. Git ist ein Versionskontrollsystem, während GitHub ein cloudbasierter Hosting-Dienst ist, der Teams beim Management ihrer Repositories unterstützt.
GitHub wurde 2008 entwickelt, um die Zusammenarbeit mit Git zu vereinfachen. Als SaaS-Plattform hat es darin brilliert und Millionen Nutzer weltweit gewonnen.
Neben den Standardfunktionen von Git bietet GitHub eigene Features wie Bug-Tracking, Aufgabenmanagement und Continuous Integration (CI). GitHub folgt einem Freemium-Modell: Viele Funktionen sind kostenlos, für den vollen Umfang ist ein kostenpflichtiges Abo nötig. GitHub gehört seit 2018 zu Microsoft.
GitHub ist nicht der einzige Hosting-Dienst für Repositories, aber mit Millionen Nutzern und Hunderten Millionen Projekten mit Abstand der populärste. Auch zahlreiche bekannte Unternehmen sind auf GitHub zu finden, darunter DataCamp.
Alternative Dienste sind GitLab, eine vollständig freie und Open-Source-Plattform für Git, sowie Bitbucket, das sowohl Git als auch Mercurial unterstützt.
Wir haben bereits erwähnt, dass Git und Versionskontrolle nicht nur für Coding und Softwareentwicklung gedacht sind. Das gilt auch für GitHub – wobei GitHub nicht speziell für nicht-technische Projekte optimiert ist.
Git ist mehr als ein Tool für Softwareentwicklung
Git lässt sich für jedes kollaborative Projekt einsetzen, bei dem Versionierung wichtig ist – etwa das Verfassen eines umfangreichen Handbuchs oder sogar die Erstellung von Kirchenmusik (letzteres ist ein reales Projekt auf GitHub).
Auch wenn Git vor allem mit dem „Maschinenraum“ der Softwareentwicklung verbunden ist, nutzen Menschen in verwandten Bereichen es regelmäßig. Data Scientists und Analysten sind ein gutes Beispiel: Sie brauchen eine Möglichkeit, den Code zu verwalten, der ihre Arbeit stützt – und genau das bietet Git.
Bei DataCamp vermitteln wir die Tools und Technologien, die du für die Arbeit mit Daten brauchst – inklusive Git. Unsere praxisnahen, motivierenden Git-Kurse findest du hier.
Warum ist Git so beliebt?
Git ist aus mehreren Gründen beliebt – nicht zuletzt, weil es kostenlos und Open Source ist.
- Geschwindigkeit. Git ist schnell, besonders wenn man bedenkt, dass Entwickler ganze Repositories branchen und mergen. Weil jede Person im Team eine lokale Kopie hat, muss nicht jede Kleinigkeit sofort auf einen Server gepusht werden.
- Feingranulares Änderungs-Tracking. Git bietet extrem detaillierte Versionierung. Selbst kleinste Änderungen werden committet, und Entwickler können mit Zeitstempel dokumentieren, warum sie etwas geändert haben.
- Offline arbeiten. Mit lokalen Kopien des gesamten Repositories müssen Nutzer erst dann online gehen, wenn sie ihre Änderungen committen oder teilen möchten.
- Allgegenwärtigkeit. Git ist heute so verbreitet, dass seine Omnipräsenz die Popularität weiter befeuert. Mehr als 90% der Entwickler nutzen Git – warum also auf ein anderes Tool setzen, wenn ohnehin alle Git kennen?
- Zusammenarbeit. Git ermöglicht Kollaboration und macht das Zusammenführen unterschiedlicher Versionen eines Projekts einfach – bei minimalem Konfliktpotenzial. Mit GitHub entsteht zusätzlich ein schlankes Ökosystem für kollaboratives Coding.
Wie funktioniert Git?
Um Gits Stärke und Effizienz zu verstehen, lohnt sich ein Blick auf einige technische Details. So arbeitet Git:
- Repository (Repo). Ein Git-Repository ist ein Verzeichnis, in dem alle Dateien eines Projekts liegen. Es enthält sämtliche Revisionen und die komplette Historie. Wenn du in einem Ordner Git initialisierst (
git init), wird er zum Repository. - Commits. Jede Änderung oder Änderungssammlung, die du in Git finalisierst, ist ein Commit. Jeder Commit hat eine eindeutige ID (einen SHA-1-Hash), über die Git Änderungen und ihre Reihenfolge nachverfolgt.
- Staging Area. Bevor du Änderungen mit einem Commit finalisierst, „staged“ du sie. Die Staging Area ist wie ein Entwurfsbereich, in dem du deine Änderungen vor dem Commit vorbereitest. Um Dateien zum Staging hinzuzufügen, verwendest du den Befehl
git add. - Branches. Git ermöglicht parallele Entwicklungsstränge über Branches. Der Standard-Branch heißt
master. Wenn du ein Feature entwickeln oder einen Bug fixen willst, erstellst du einen neuen Branch (git branch <branch-name>), um deine Änderungen zu kapseln, ohne die Hauptentwicklung zu beeinflussen. - Merging. Wenn du auf einem Branch fertig bist, kannst du die Änderungen zurück in den
master-Branch (oder einen anderen) mergen – mitgit merge. - Remote-Repositories. Auch wenn du lokal arbeitest, kannst du Git mit entfernten Repositories verbinden – via
git remote. Das ist besonders für Teamarbeit wichtig. Wie erwähnt, ist GitHub das gängigste Remote-Repository. - Push und Pull. Sobald du mit einem Remote-Repository verbunden bist, kannst du deine Änderungen
pushen, damit andere sie sehen und mitarbeiten können. Ebenso kannst du perpullÄnderungen aus dem Remote holen, um deine lokale Version zu aktualisieren. - Fetch. Ähnlich wie
pullholtgit fetchUpdates aus einem Remote-Repository, merged sie aber nicht automatisch in deinen aktuellen Branch. So kannst du Änderungen erst prüfen, bevor du sie integrierst. - Clone. Wenn du eine Kopie eines bestehenden Git-Repositories brauchst, verwendest du
git clone. Das erstellt auf deinem Rechner ein neues Verzeichnis mit allen Dateien und der kompletten Historie. - Konfliktlösung. Wenn mehrere Personen am selben Codestück arbeiten, können Konflikte entstehen. Git hebt solche Konflikte hervor und ermöglicht es, sie manuell zu lösen, bevor ein Merge finalisiert wird.
- Log. Um die Commit-Historie einzusehen, nutzt du
git log. Das zeigt eine Liste von Commits, ihre IDs und die zugehörigen Messages.
Wenn du diese technischen Grundlagen kennst, fällt dir der Einstieg in Git leichter. Je vertrauter du mit den Konzepten und Befehlen wirst, desto mehr schätzt du die Flexibilität, Power und Effizienz, die Git der Versionskontrolle bringt.
Bereit, mit Git loszulegen?
Git ist das populärste verteilte VCS der Welt und hat die Art und Weise revolutioniert, wie Softwareentwickler und Fachleute aus verwandten Bereichen ihre Projekte steuern.
Unternehmen von Google bis Netflix – und viele dazwischen – setzen Git als festen Bestandteil ihres Tech-Stacks ein. Git ist so allgegenwärtig, dass du bei Software- oder coderelierten Projekten praktisch immer davon ausgehen kannst, dass es Teil des Prozesses ist.
Für alle, die mit Daten arbeiten – etwa Data Analysts und Data Scientists –, ist Git ebenfalls Pflicht. Schließlich brauchen wir eine Möglichkeit, den Code zu versionieren, mit dem wir Daten aufbereiten und die Tools bauen, die uns unterstützen.
Git ist der De-facto-Standard für Versionskontrolle. Wenn du in die IT oder ein angrenzendes Feld willst, gehört es zu deinem Basiswerkzeug. Git ist zwar nicht gerade für seine Einfachheit bekannt, aber die Grundlagen sind gut zu meistern – und darauf kannst du Schritt für Schritt im Gitverse aufbauen.
DataCamp hilft dir dabei. Unser Kurs Introduction to Git vermittelt dir die Essentials auf motivierende, praxisnahe Weise. Wenn du fit bist, kannst du über eine GitHub-Zertifizierung nachdenken, um deine Kompetenzen sichtbar zu machen.
Finde heraus, warum über neun Millionen Lernende weltweit DataCamp lieben – melde dich heute für deinen ersten Git-Kurs an!
FAQs
What is the primary purpose of Git?
Git ist ein verteiltes Versionskontrollsystem, das Änderungen am Quellcode während der Softwareentwicklung nachverfolgt. Es ermöglicht mehreren Entwicklern, gleichzeitig am selben Projekt zu arbeiten, ohne dass sich ihre Änderungen in die Quere kommen.
How is Git different from other version control systems?
Git ist ein verteiltes Versionskontrollsystem. Das heißt, jede Entwicklerin und jeder Entwickler hat eine vollständige Kopie der Projektgeschichte lokal. Das unterscheidet es von zentralisierten Systemen, bei denen es ein einziges zentrales Repository gibt, aus dem ausgecheckt wird.
Is Git only for software developers?
Git wird zwar hauptsächlich mit Softwareentwicklung verbunden, doch seine Versionskontrollfunktionen sind auch für viele andere Projekte nützlich – etwa für Dokumentation, Design, Schreiben und mehr.
What is the relationship between Git and GitHub?
Git ist ein Versionskontrollsystem, während GitHub eine cloudbasierte Plattform ist, die Git-Repositories hostet. GitHub bietet zusätzliche Funktionen wie Bug-Tracking, Aufgabenmanagement und Kollaborationstools.
Do I need to be online to work with Git?
Nein. Einer der Vorteile von Git ist, dass du offline an deinem lokalen Repository arbeiten kannst. Eine Internetverbindung brauchst du nur, wenn du deine Änderungen in ein Remote-Repository pushen oder Updates daraus holen möchtest.
How secure is Git?
Git verfügt über mehrere eingebaute Mechanismen, um Integrität und Authentizität von Code sicherzustellen. Funktionen wie das Signieren von Commits nutzen kryptografische Verfahren, um Quelle und Unverändertheit von Commits zu verifizieren.
How can I start learning Git?
Unser Introduction to Git-Kurs ist der ideale Start, um Git für Versionskontrolle wirklich zu verstehen.