Skip to main content

Die wichtigsten Git-Grundbegriffe für Einsteiger 📘

Bevor du mit Git arbeitest, solltest du ein paar zentrale Begriffe verstehen. Diese tauchen in fast jeder Anleitung auf – und sobald du sie verinnerlicht hast, wird alles andere viel leichter verständlich.


Repository – dein Projektarchiv 📁

Ein Repository (kurz: Repo) ist im Grunde ein Ordner mit Gedächtnis. Es enthält alle Dateien deines Projekts und die komplette Änderungshistorie – also wer wann was geändert hat.

Es gibt zwei Arten:

  • Lokales Repository: Liegt auf deinem Computer, nur du hast Zugriff.
  • Remote Repository: Liegt auf einem Server (z. B. GitHub), kann von mehreren Personen genutzt werden.

💡 Wenn du in PhpStorm ein Projekt „unter Git-Kontrolle stellst", erstellst du ein lokales Repository.


Stage (Staging Area) – die Vorbereitungszone 📋

Die Staging Area ist eine Art Wartezone zwischen deinen Änderungen und dem nächsten Commit. Wenn du eine Datei änderst, ist sie zunächst nur im sogenannten Working Directory verändert. Erst wenn du sie „stagst", signalisierst du Git: „Diese Änderung soll Teil des nächsten Commits sein."

Das Vorgehen ist also:

  1. Du änderst Dateien (Working Directory)
  2. Du wählst aus, welche Änderungen gespeichert werden sollen → Stage
  3. Du speicherst diese Auswahl dauerhaft → Commit

💡 Das ist praktisch, weil du nicht immer alle Änderungen auf einmal speichern musst, sondern gezielt auswählen kannst.


Commit – ein Schnappschuss deines Projekts 📸

Ein Commit ist ein gespeicherter Zustand deines Projekts zu einem bestimmten Zeitpunkt. Jeder Commit enthält eine eindeutige ID (einen sogenannten Hash), eine Nachricht, die beschreibt was geändert wurde, den Autor und das Datum sowie die tatsächlichen Änderungen an den Dateien.

Commits sind das Herzstück von Git. Du kannst sie dir wie Speicherpunkte in einem Videospiel vorstellen – du kannst jederzeit zu einem früheren Commit zurückkehren.

Beispiel einer Commit-Historie:
───────────────────────────────
Commit 3: "Login-Formular validiert"
Commit 2: "Login-Seite erstellt"
Commit 1: "Projektstruktur angelegt"

Branch – parallele Entwicklungslinien 🌿

Ein Branch ist ein eigenständiger Entwicklungszweig. Standardmäßig arbeitest du auf dem Branch namens main (früher oft master). Du kannst aber jederzeit einen neuen Branch erstellen, um z. B. ein neues Feature zu entwickeln – ohne den Hauptzweig zu beeinflussen.

gitGraph
    commit id: "Start"
    commit id: "Basis fertig"
    branch feature/login
    commit id: "Login-Seite"
    commit id: "Validierung"
    checkout main
    commit id: "Bugfix"
    merge feature/login id: "Merge"

💡 Branches sind wie parallele Universen deines Projekts – du kannst experimentieren, ohne das „echte" Projekt zu gefährden.


Merge – Zweige zusammenführen 🔀

Wenn du mit der Arbeit in einem Branch fertig bist, möchtest du diese Änderungen meist zurück in den main-Branch bringen. Diesen Vorgang nennt man Merge.

Git versucht dabei, die Änderungen automatisch zusammenzuführen. Falls jedoch dieselbe Stelle in beiden Branches unterschiedlich geändert wurde, entsteht ein Merge-Konflikt, den du manuell lösen musst. PhpStorm bietet dafür ein praktisches visuelles Tool.


Remote – die Verbindung zur Außenwelt 🌐

Ein Remote ist eine Referenz auf ein externes Repository, typischerweise auf GitHub, GitLab oder Bitbucket. Der Standard-Remote heißt meist origin.

Wenn du ein Projekt auf GitHub hast und lokal damit arbeitest, ist origin die Brücke zwischen deinem Computer und GitHub:

Begriff Bedeutung
origin Der Name des Remote-Repositorys (meist auf GitHub)
Remote-URL Die Adresse, z. B. https://github.com/user/projekt.git

Clone – ein bestehendes Projekt herunterladen 📥

Clone bedeutet, ein komplettes Remote-Repository auf deinen Computer zu kopieren – inklusive aller Dateien und der gesamten Historie.

git clone https://github.com/beispiel/projekt.git

💡 In PhpStorm kannst du über „Get from VCS" direkt ein GitHub-Projekt clonen und sofort loslegen.


Push und Pull – Synchronisation mit dem Remote 🔄

Diese beiden Begriffe beschreiben den Datenaustausch zwischen deinem lokalen Repository und dem Remote:

  • Push 📤: Du sendest deine lokalen Commits an das Remote-Repository (z. B. GitHub). Damit werden deine Änderungen für andere sichtbar bzw. gesichert.

  • Pull 📥: Du holst die neuesten Änderungen vom Remote-Repository auf deinen Computer. Falls andere Personen Änderungen gepusht haben, bekommst du diese so.

flowchart LR
    A["Lokales Repository<br>auf deinem PC"] -->|Push| B["Remote Repository<br>z.B. auf GitHub"]
    B -->|Pull| A

Zusammenfassung auf einen Blick 🗺️

Begriff Kurzerklärung
Repository Projektordner mit kompletter Änderungshistorie
Stage Vorauswahl der Änderungen für den nächsten Commit
Commit Gespeicherter Schnappschuss des Projektzustands
Branch Paralleler Entwicklungszweig
Merge Zusammenführen zweier Branches
Remote Verbindung zu einem externen Repository
Clone Komplettes Repository herunterladen
Push Lokale Commits zum Remote hochladen
Pull Änderungen vom Remote herunterladen

Mit diesen Begriffen im Hinterkopf wirst du die folgenden Kapitel deutlich leichter verstehen – sie bilden das Vokabular, mit dem Git „spricht". 🎯