Zum Inhalt springen
Git & GitHub Anfänger 15 min

Was ist Git? Versionskontrolle verstehen

Lerne, was Git ist, warum Versionskontrolle wichtig ist und wie Git die Softwareentwicklung revolutioniert hat.

Aktualisiert:

Stell dir vor, du arbeitest an einer Webseite. Du aenderst das Design, und ploetzlich sieht alles kaputt aus. Du wuenschst dir, du koenntest einfach zur vorherigen Version zurueckkehren. Genau dafuer gibt es Git - eine Zeitmaschine fuer deinen Code.

Was ist Versionskontrolle?

Versionskontrolle ist ein System, das Aenderungen an Dateien ueber die Zeit hinweg aufzeichnet. Du kannst jederzeit zu einer frueheren Version zurueckkehren, Aenderungen vergleichen und nachvollziehen, wer was wann geaendert hat.

Das Problem ohne Versionskontrolle

Kennst du das?

projekt/
├── index.html
├── index_backup.html
├── index_final.html
├── index_final_v2.html
├── index_final_v2_wirklich_final.html
└── index_NICHT_LOESCHEN.html

Das ist Chaos. Du weisst nicht mehr, welche Version die richtige ist, was sich geaendert hat oder warum. Versionskontrolle loest genau dieses Problem.

Die Loesung mit Git

Mit Git sieht das so aus:

projekt/
└── index.html    ← Immer die aktuelle Version

Git speichert die komplette Historie im Hintergrund. Du kannst jederzeit in die Vergangenheit schauen:

git log --oneline
a3f4b2c Design ueberarbeitet
8e1d9f0 Navigation hinzugefuegt
5c2a1b3 Grundstruktur erstellt

Was ist Git?

Git ist ein verteiltes Versionskontrollsystem (englisch: Distributed Version Control System, kurz DVCS). Es wurde 2005 von Linus Torvalds entwickelt - dem gleichen Entwickler, der auch Linux erschaffen hat.

Die wichtigsten Eigenschaften von Git

EigenschaftBeschreibung
VerteiltJeder Entwickler hat eine vollstaendige Kopie des Projekts
SchnellFast alle Operationen laufen lokal auf deinem Computer
SicherJede Aenderung wird mit einer Pruefsumme gesichert
KostenlosGit ist Open Source und komplett kostenlos
BranchingParallele Entwicklungszweige erstellen und zusammenfuehren

Zentral vs. Verteilt

Aeltere Systeme wie SVN nutzen einen zentralen Server. Wenn der Server ausfaellt, kann niemand arbeiten. Git ist anders:

Zentrales System (SVN):          Verteiltes System (Git):

      [Server]                    [Server/GitHub]
      /  |  \                      /    |    \
   [A] [B] [C]               [A+Repo] [B+Repo] [C+Repo]
                              (Jeder hat alles!)

Bei Git hat jeder Entwickler eine vollstaendige Kopie des gesamten Projekts inklusive der kompletten Historie. Du kannst sogar offline arbeiten und deine Aenderungen spaeter synchronisieren.

Warum Git lernen?

1. Git ist Standard in der Branche

Ueber 95% aller Softwareprojekte weltweit nutzen Git. Egal ob du bei einem Startup, einem Konzern oder an Open-Source-Projekten arbeitest - Git-Kenntnisse werden ueberall vorausgesetzt.

2. Zusammenarbeit im Team

Git ermoeglicht es mehreren Entwicklern, gleichzeitig am selben Projekt zu arbeiten, ohne sich gegenseitig in die Quere zu kommen:

# Anna arbeitet am Header
git checkout -b feature/header

# Ben arbeitet am Footer
git checkout -b feature/footer

# Beide arbeiten parallel - ohne Konflikte!

3. Sicherheitsnetz

Mit Git kannst du mutig experimentieren. Wenn etwas schiefgeht, gehst du einfach zurueck:

# Etwas ist kaputt gegangen? Kein Problem!
git checkout -- index.html

# Oder zurueck zum letzten Commit
git reset --hard HEAD

4. Karriere-Booster

Ein aktives GitHub-Profil zeigt potenziellen Arbeitgebern, dass du:

  • Code schreiben kannst
  • Mit modernen Tools arbeitest
  • An Projekten mitarbeitest
  • Kontinuierlich lernst

Grundlegende Konzepte

Repository (Repo)

Ein Repository ist dein Projektordner, der von Git ueberwacht wird. Es enthaelt alle Dateien und die komplette Aenderungshistorie.

# Ein neues Repository erstellen
git init mein-projekt

# Ein bestehendes Repository von GitHub herunterladen
git clone https://github.com/benutzer/projekt.git

Commit

Ein Commit ist ein Schnappschuss deines Projekts zu einem bestimmten Zeitpunkt. Stell dir das wie ein Foto vor - es haelt den aktuellen Zustand fest.

# Einen Commit erstellen
git add index.html
git commit -m "Startseite erstellt"

Branch

Ein Branch ist ein unabhaengiger Entwicklungszweig. Du kannst an neuen Features arbeiten, ohne den Hauptcode zu beeinflussen.

# Einen neuen Branch erstellen
git branch neues-feature

# Zum Branch wechseln
git checkout neues-feature

Remote

Ein Remote ist eine Version deines Projekts auf einem Server (z.B. GitHub). Dort kannst du deinen Code mit anderen teilen.

# Code zu GitHub hochladen
git push origin main

# Neueste Aenderungen herunterladen
git pull origin main

Git vs. GitHub

Ein haeufiges Missverstaendnis: Git und GitHub sind nicht dasselbe!

GitGitHub
Software/ToolWebplattform/Service
Laeuft lokal auf deinem PCLaeuft im Browser
Verwaltet VersionenHostet Repositories online
Von Linus TorvaldsVon Microsoft (seit 2018)
Kostenlos & Open SourceKostenlos + Premium-Optionen
Kommandozeilen-ToolWebinterface + Features

Git ist das Werkzeug, das auf deinem Computer laeuft. GitHub ist eine Plattform im Internet, auf der du deine Git-Repositories speichern und mit anderen teilen kannst.

Es gibt auch Alternativen zu GitHub:

  • GitLab - aehnlich wie GitHub, auch selbst hostbar
  • Bitbucket - von Atlassian, gut integriert mit Jira
  • Codeberg - Open-Source-Alternative aus Deutschland

Der Git-Workflow auf einen Blick

So sieht ein typischer Arbeitsablauf mit Git aus:

1. Dateien bearbeiten     →  Du schreibst Code
2. git add                →  Aenderungen auswaehlen
3. git commit             →  Schnappschuss erstellen
4. git push               →  Zu GitHub hochladen

Das klingt vielleicht noch abstrakt - keine Sorge! In den naechsten Kapiteln wirst du jeden dieser Schritte ausfuehrlich lernen und ueben.

Was kommt als Naechstes?

Im naechsten Kapitel installierst du Git auf deinem Computer und richtest es ein. Du wirst:

  • Git herunterladen und installieren
  • Deinen Namen und deine E-Mail konfigurieren
  • Die Git-Kommandozeile kennenlernen

Zusammenfassung

  • Git ist ein verteiltes Versionskontrollsystem, das Aenderungen an Dateien aufzeichnet
  • Versionskontrolle schuetzt dich vor Datenverlust und ermoeglicht Teamarbeit
  • Git ist der Standard in der Softwareentwicklung - ueber 95% aller Projekte nutzen es
  • Git ≠ GitHub: Git ist das Tool, GitHub ist die Plattform
  • Die vier Grundkonzepte sind: Repository, Commit, Branch und Remote
  • Git ermoeglicht es dir, mutig zu experimentieren - du kannst immer zurueckkehren

Pro-Tipp: Du musst nicht alles auf einmal lernen! Git hat viele Funktionen, aber fuer den Alltag brauchst du nur etwa 10 Befehle. Konzentriere dich zuerst auf die Grundlagen - den Rest lernst du mit der Zeit.

Zurück zum Git & GitHub Kurs