Git für Anfänger: Das ultimative Tutorial zum Git lernen (2025)
Lerne Git von Grund auf! Dieses anfängerfreundliche Git Tutorial zeigt dir Schritt für Schritt, wie du Git installierst, dein erstes Repository erstellst, Commits machst und mit GitHub arbeitest.

Inhaltsverzeichnis
- Was ist Git und warum ist es so mächtig?
- Schritt 1: Git installieren und konfigurieren
- Schritt 2: Dein erstes Git Repository – Der grundlegende Workflow
- Schritt 3: Branches – Sicher experimentieren und entwickeln
- Schritt 4: Zusammenarbeit mit GitHub & Remote-Repositories
- Schritt 5: Git in VS Code – Der visuelle Weg
- Fazit: Du hast die Grundlagen gemeistert!
Kennst du das? Du arbeitest an einem wichtigen Projekt und dein Ordner explodiert förmlich mit Dateiversionen wie projekt_final.docx
, projekt_final_v2.docx
und projekt_WIRKLICH_final_überarbeitet.docx
. Dieses Chaos ist nicht nur unübersichtlich, sondern birgt auch die Gefahr, wichtige Änderungen zu verlieren.
Hier kommt Git ins Spiel. Git ist das professionelle Werkzeug, das dieses Chaos beendet und die Grundlage für moderne Softwareentwicklung und effiziente Zusammenarbeit bildet. Aber keine Sorge, es ist nicht nur für Entwickler! Jeder, der Versionen von Dateien verwalten muss, kann von Git profitieren.
In dieser Einführung in Git führen wir dich Schritt für Schritt von der Installation bis zum ersten richtigen Projekt. Du brauchst keinerlei Vorkenntnisse. Am Ende dieses Tutorials wirst du in der Lage sein, deine eigenen Projekte mit Git zu verwalten. Los geht’s!
Was ist Git und warum ist es so mächtig?
Git ist ein verteiltes Versionskontrollsystem (DVCS). Das klingt kompliziert, bedeutet aber im Kern zwei einfache, aber revolutionäre Dinge:
- Versionskontrolle: Git protokolliert jede einzelne Änderung an deinem Projekt. Stell es dir wie eine Zeitmaschine für deinen Code vor. Du kannst jederzeit zu einem früheren Zustand zurückkehren, Änderungen vergleichen und exakt nachvollziehen, wer was wann geändert hat.
- Verteilt: Jeder, der am Projekt arbeitet, hat eine vollständige Kopie der gesamten Projekthistorie auf seinem eigenen Rechner. Das macht Git unglaublich schnell und erlaubt es dir, auch ohne Internetverbindung produktiv zu sein.
Die Kernidee von Git ist, dass es keine einzelnen Dateiänderungen speichert, sondern komplette Schnappschüsse (Snapshots) deines gesamten Projekts zu einem bestimmten Zeitpunkt.
Schritt 1: Git installieren und konfigurieren
Bevor wir loslegen, muss Git auf deinem System installiert sein.
Git installieren
Öffne deinen Browser und gehe auf die offizielle Git-Website: git-scm.com/downloads. Lade die passende Version für dein Betriebssystem (Windows, macOS oder Linux) herunter und folge den Anweisungen des Installers.
INFO
Wähle während der Installation die Option “Git Bash Here”, um Git einfach aus dem Explorer heraus nutzen zu können. Als Standard-Editor ist “Visual Studio Code” eine gute Wahl, falls du es installiert hast. Bei den meisten anderen Schritten kannst du die Standardeinstellungen übernehmen.
Die Installation überprüfen
Öffne nach der Installation dein Terminal (oder Git Bash unter Windows) und gib den folgenden Git Befehl ein:
git --version
Wenn eine Versionsnummer wie git version 2.42.0
erscheint, hat alles geklappt. Herzlichen Glückwunsch, dein erstes Git Tutorial hat begonnen!
Git mitteilen, wer du bist
Jede Änderung, die du speicherst (ein “Commit”), wird mit deinem Namen und deiner E-Mail-Adresse versehen. Diese Konfiguration musst du nur einmal pro System durchführen.
# Setze deinen Benutzernamen
git config --global user.name "Dein Name"
# Setze deine E-Mail-Adresse
git config --global user.email "deine@email.com"
Du kannst mit git config --global user.name
überprüfen, ob dein Name korrekt gespeichert wurde.
Schritt 2: Dein erstes Git Repository – Der grundlegende Workflow
Ein Repository (kurz: Repo) ist einfach ein Projektordner, dessen Änderungen von Git verwaltet werden.
Das Repository erstellen
Erstelle einen neuen Ordner für dein Projekt und wechsle im Terminal in diesen Ordner.
# Einen neuen Ordner erstellen
mkdir mein-erstes-git-projekt
# In den Ordner wechseln
cd mein-erstes-git-projekt
Jetzt kommt der magische Befehl, um diesen Ordner in ein Git Repository zu verwandeln:
git init
Git hat nun einen versteckten Unterordner namens .git
angelegt. Hier speichert Git die gesamte Magie. Die wichtigste Regel: Fass diesen Ordner niemals manuell an!
Der Git-Workflow: Die Staging Area verstehen
Um die Grundlagen von Git wirklich zu meistern, müssen wir drei “Bereiche” verstehen, in denen sich die Dateien befinden können:
- Arbeitsverzeichnis (Working Directory): Dein normaler Projektordner, in dem du deine Dateien bearbeitest.
- Staging Area (Index): Ein Wartebereich. Hier sammelst du alle Änderungen, die du im nächsten Schnappschuss speichern möchtest. Das erlaubt dir, Commits präzise zusammenzustellen.
- Repository (.git-Ordner): Das endgültige, sichere Archiv. Alles, was hier per Commit landet, ist dauerhaft gespeichert.
Der Zyklus ist immer: Ändern -> Vormerken (Staging) -> Speichern (Commit).
Interaktiver Git-Workflow
1. Arbeitsverzeichnis
2. Staging Area
3. Repository (Commits)
Die wichtigsten Befehle in Aktion
Erstellen wir eine erste hallo.txt
-Datei:
echo "Hallo Welt von Git" > hallo.txt
Dein bester Freund bei der Arbeit mit Git ist der Befehl git status
. Er zeigt dir immer den aktuellen Zustand:
git status
Git meldet nun eine untracked file
. Um die Datei zu verfolgen, nutzen wir git add
:
git add hallo.txt
Die Datei ist jetzt in der Staging Area. git status
zeigt sie nun unter “Changes to be committed”. Zeit für unseren ersten Commit:
git commit -m "Erste Version der hallo.txt erstellen"
Ein git commit
speichert den aktuellen Zustand der Staging Area als neuen Schnappschuss. Die -m
Option erlaubt es, direkt eine Nachricht mitzugeben.
Jetzt machen wir eine Änderung und sehen uns den Unterschied an:
echo "Git ist hilfreich" >> hallo.txt
git diff
Der Befehl git diff
zeigt dir genau, was sich geändert hat (+
für neue Zeilen, -
für entfernte). Um diese Änderung zu speichern, wiederholen wir den Zyklus:
git add hallo.txt
git commit -m "Zweite Zeile zu hallo.txt hinzufügen"
Um die gesamte Historie deines Projekts anzuzeigen, nutze git log
:
git log --oneline
Die Option --oneline
sorgt für eine kompakte Ansicht.
Schritt 3: Branches – Sicher experimentieren und entwickeln
Stell dir dein Projekt als einen Baum vor. Der main
-Branch ist der stabile Hauptstamm. Ein Branch ist wie ein neuer Ast, auf dem du ungestört arbeiten kannst. Das ist perfekt, um Funktionen isoliert voneinander zu entwickeln.
Einen neuen Branch erstellen und nutzen
# Einen neuen Branch namens "feature/text-erweitern" erstellen
git branch feature/text-erweitern
# Zum neuen Branch wechseln
git checkout feature/text-erweitern
TIP
Mit git checkout -b feature/text-erweitern
kannst du einen neuen Branch erstellen und direkt zu ihm wechseln – alles in einem Befehl! Die
moderne Alternative dazu ist git switch -c feature/text-erweitern
.
Alle Commits, die du jetzt machst, landen auf diesem neuen Branch, ohne den main
-Branch zu beeinflussen.
Änderungen zusammenführen (Merging)
Wenn dein Feature fertig ist, willst du die Änderungen in den Hauptstamm zusammenführen. Diesen Prozess nennt man mergen.
# Wechsle zurück zum Haupt-Branch
git checkout main
# Führe die Änderungen aus dem Feature-Branch mit main zusammen
git merge feature/text-erweitern
In den meisten einfachen Fällen funktioniert das reibungslos. git merge
kombiniert die Historien der beiden Branches.
Aufräumen
Nach dem erfolgreichen Merge kannst du den nicht mehr benötigten Feature-Branch löschen:
git branch -d feature/text-erweitern
Schritt 4: Zusammenarbeit mit GitHub & Remote-Repositories
Bisher existiert dein Projekt nur als lokales Repository auf deinem Rechner. Das ist super für persönliche Projekte, aber was, wenn du:
- Ein Backup deiner Arbeit an einem sicheren, entfernten Ort haben möchtest?
- Mit anderen Entwicklern zusammenarbeiten willst?
- Deinen Code der Welt zeigen möchtest?
Hier kommt ein Remote-Repository ins Spiel. Stell es dir als eine Kopie deines Projekts auf einem Server im Internet vor. Die bekannteste und größte Plattform dafür ist GitHub.
Dein erstes Repository auf GitHub
Das Verbinden deines lokalen Repositorys mit einem Repository auf GitHub ist ein zentraler Schritt.
-
Account erstellen: Falls noch nicht geschehen, erstelle einen kostenlosen Account auf GitHub.com.
-
Neues Repository erstellen: Klicke auf GitHub auf “New repository”. Gib deinem Projekt einen Namen, aber lass es ansonsten leer (ohne README, .gitignore oder Lizenz).
-
URL kopieren: GitHub zeigt dir die URL deines neuen, leeren Repositorys an. Kopiere sie.
-
Remote im lokalen Repository hinzufügen: Gehe zurück in dein Terminal und führe den folgenden Git-Befehl aus, um die Verbindung herzustellen:
git remote add origin DEINE_GITHUB_URL
origin
ist der Standardname für das Haupt-Remote-Repository.
Änderungen hochladen und herunterladen
Jetzt, wo die Verbindung steht, kannst du mit diesen drei wichtigen Git-Befehlen arbeiten:
-
git push
: Lade deine lokalen Commits auf den Remote-Server hoch.# Beim allerersten Push musst du Git sagen, wohin der 'main'-Branch soll. git push -u origin main
Danach reicht ein einfaches
git push
. -
git pull
: Lade die neuesten Änderungen vom Server herunter und integriere sie. -
git clone
: Klone ein bestehendes Repository von GitHub auf deinen Computer.git clone DEINE_GITHUB_URL
Selbst-gehostete Git-Server
Wenn du GitHub nicht nutzen möchtest, gibt es auch Alternativen, die man selbst hosten kann. Beispiel sind Gitea oder Forgejo. Diese bieten ähnliche Funktionen wie GitHub, sind dann aber auf deinem eigenen Server installiert.
Schritt 5: Git in VS Code – Der visuelle Weg
Die Kommandozeile ist mächtig, aber nicht jeder mag sie. Visual Studio Code hat eine fantastische Git-Integration, die dir die Arbeit erleichtert.
- Source Control Panel: In der linken Seitenleiste siehst du alle deine Änderungen.
- Stagen per Klick: Mit dem
+
neben einer Datei fügst du sie zur Staging Area hinzu. - Committen: Gib deine Nachricht oben ein und klicke auf den Haken.
- Push & Pull: Über den “Sync Changes”-Button am unteren Rand kannst du deine Änderungen mit dem Remote-Repository synchronisieren.
- Erweiterungen wie “GitGraph” visualisieren deine Branch-Struktur und machen die Historie leicht verständlich.
Fazit: Du hast die Grundlagen gemeistert!
Herzlichen Glückwunsch! Du hast soeben die Grundlagen von Git gelernt. Du weißt jetzt, wie du ein Versionskontrollsystem nutzt, um deine Projekte zu verwalten, Änderungen sicher zu speichern und sogar mit anderen über Plattformen wie GitHub zusammenzuarbeiten.
Die wichtigsten Befehle sind nun Teil deines Werkzeugkastens:
git init
, git add
, git commit
, git status
, git log
, git branch
, git checkout
, git merge
, git push
, git pull
und git clone
.
Der beste Weg, um Git zu lernen, ist die praktische Anwendung. Starte ein kleines Projekt und probiere die Befehle aus. Mit der Zeit wird der Umgang damit zur Selbstverständlichkeit.
FAQs
Was ist der Unterschied zwischen Git und GitHub?
Git ist das eigentliche Versionskontrollsystem – eine Software, die auf deinem Computer läuft und deine Projekthistorie verwaltet. GitHub ist eine Web-Plattform, die Git-Repositories hostet. Man kann es sich so vorstellen: Git ist das Werkzeug (wie ein Texteditor), und GitHub ist der Ort, an dem du deine mit dem Werkzeug erstellten Projekte speicherst und mit anderen teilst (wie eine Cloud-Plattform für Dokumente).
Ich habe einen Fehler gemacht. Wie kann ich einen Commit rückgängig machen?
Es gibt mehrere Wege, Änderungen rückgängig zu machen. Eine sichere Methode ist `git revert HEAD`. Dieser Befehl erstellt einen neuen Commit, der die Änderungen des letzten Commits rückgängig macht, ohne die Historie zu verändern. Eine andere, mächtigere Methode ist `git reset`, die aber mit Vorsicht zu genießen ist, da sie die Historie umschreibt. Für Anfänger ist `revert` oft die bessere Wahl.
Warum sollte ich 'main' statt 'master' als Haupt-Branch verwenden?
Historisch war 'master' der Standardname. In den letzten Jahren hat sich in der Community jedoch 'main' als inklusivere und neutrale Bezeichnung etabliert. GitHub und viele andere Plattformen verwenden 'main' als neuen Standard für jedes neue Repository. Funktionell gibt es keinen Unterschied – es ist reine Konvention, aber eine, die sich durchsetzt.
Was ist der Unterschied zwischen `git fetch` und `git pull`?
Beide Befehle holen neue Daten von einem Remote-Repository. `git fetch` lädt die neuen Änderungen aber nur herunter, ohne dein aktuelles Arbeitsverzeichnis zu verändern. Du kannst dir dann ansehen, was neu ist, bevor du es integrierst. `git pull` ist im Grunde eine Kombination aus `git fetch` und `git merge`. Es lädt die Änderungen herunter UND versucht sie sofort mit deinem aktuellen Branch zusammenzuführen. Für Anfänger ist `git pull` oft einfacher, aber `fetch` gibt dir mehr Kontrolle.
Wie kann ich einen lokalen oder Remote-Branch sicher löschen?
Einen lokalen Branch, der bereits in `main` gemerged wurde, löschst du mit `git branch -d branch-name`. Git verhindert hier das Löschen, wenn noch ungemergte Änderungen vorhanden sind. Um einen Branch auf GitHub (oder einem anderen Remote) zu löschen, verwendest du `git push origin --delete branch-name`. Sei hier besonders vorsichtig, wenn andere Teammitglieder den Branch noch benötigen könnten.