Kapitel 10: PhpStorm Git-Funktionen meistern đŸ› ïž

Einleitung: PhpStorm ist nicht nur eine großartige IDE fĂŒr PHP-Entwicklung, sondern hat auch eine der besten Git-Integrationen auf dem Markt. Viele Entwickler nutzen jedoch nur einen Bruchteil der verfĂŒgbaren Funktionen. In diesem abschließenden Kapitel tauchst du tiefer in die Möglichkeiten ein: Du lernst, die Diff-Ansicht effektiv zu nutzen, um Änderungen zu visualisieren, einzelne Code-Zeilen statt ganzer Dateien zu committen (sogenanntes „Partial Commit"), und die Historie deines Projekts detailliert zu analysieren. Mit den richtigen Tastenkombinationen wird Git in PhpStorm zum natĂŒrlichen Teil deines Workflows, der dich nicht aufhĂ€lt, sondern unterstĂŒtzt.

Git-Funktionen in PhpStorm – Der komplette Überblick 🧭

PhpStorm hat eine der umfangreichsten Git-Integrationen aller IDEs. Fast alles, was du sonst im Terminal machen wĂŒrdest, kannst du direkt in der grafischen OberflĂ€che erledigen – oft sogar komfortabler. Hier bekommst du einen strukturierten Überblick ĂŒber alle wichtigen Git-Funktionen und wo du sie findest.


Die wichtigsten Bereiche der Git-OberflÀche

PhpStorm organisiert seine Git-Funktionen an mehreren Stellen. Sobald du diese kennst, findest du dich schnell zurecht:

flowchart TB
    subgraph UI["PhpStorm Git-OberflÀche"]
        MENU["📋 HauptmenĂŒ\nGit-MenĂŒ oben"]
        TOOLBAR["🔧 Toolbar\nSchnellzugriff-Icons"]
        STATUSBAR["📍 Statusleiste\nBranch-Anzeige unten rechts"]
        TOOLWINDOW["đŸȘŸ Tool-Fenster\nGit-Tab unten"]
        CONTEXT["đŸ–±ïž KontextmenĂŒ\nRechtsklick auf Dateien"]
        GUTTER["📝 Editor-Gutter\nLinke Seite im Editor"]
    end
    
    MENU --> TOOLWINDOW
    TOOLBAR --> TOOLWINDOW
    STATUSBAR --> TOOLWINDOW

Das Git-HauptmenĂŒ

Das Git-MenĂŒ in der oberen MenĂŒleiste ist dein zentraler Anlaufpunkt fĂŒr alle Git-Operationen. Hier findest du wirklich alles – von den Basics bis zu fortgeschrittenen Funktionen.

MenĂŒpunkt Funktion TastenkĂŒrzel
Commit Öffnet das Commit-Fenster Strg + K (Win/Linux) / Cmd + K (Mac)
Push Lokale Commits auf Remote hochladen Strg + Shift + K / Cmd + Shift + K
Pull Änderungen vom Remote holen und mergen –
Fetch Nur Remote-Infos holen (ohne Merge) –
Merge Branches zusammenfĂŒhren –
Rebase Branch auf anderen Branch umbasieren –
Branches Branch-Verwaltung öffnen –
Show Git Log Commit-Historie anzeigen –
Rollback Änderungen verwerfen –
Stash Changes Änderungen temporĂ€r zwischenspeichern –
Unstash Changes Zwischengespeicherte Änderungen wiederherstellen –

💡 Tipp: Die meisten MenĂŒpunkte haben UntermenĂŒs mit weiteren Optionen. Es lohnt sich, diese einmal durchzugehen!


Die Statusleiste – dein stĂ€ndiger Begleiter

Am unteren rechten Rand von PhpStorm findest du die Statusleiste mit der Branch-Anzeige. Diese kleine Anzeige ist ĂŒberraschend mĂ€chtig:

flowchart LR
    STATUS["📍 Statusleiste\nmain"] -->|Klick| POPUP["Branch-Popup"]
    POPUP --> LOCAL["🌿 Lokale Branches"]
    POPUP --> REMOTE["☁ Remote Branches"]
    POPUP --> NEW["➕ New Branch"]
    POPUP --> CHECKOUT["🔄 Checkout"]

Das Git-Tool-Fenster

Das Git-Tool-Fenster am unteren Rand (Reiter „Git") ist das HerzstĂŒck fĂŒr die Arbeit mit der Versionshistorie. Es hat mehrere Tabs:

Log-Tab 📜

Hier siehst du die gesamte Commit-Historie deines Projekts in einer grafischen Darstellung:

Local Changes / Changes-Tab 📝

Zeigt alle aktuell geĂ€nderten Dateien – also alles, was seit dem letzten Commit verĂ€ndert wurde:

Console-Tab đŸ’»

Zeigt die tatsĂ€chlichen Git-Befehle, die PhpStorm im Hintergrund ausfĂŒhrt. Sehr nĂŒtzlich, um zu verstehen, was passiert – oder um Fehlermeldungen zu analysieren.


KontextmenĂŒ – Git per Rechtsklick

Wenn du im Projektbaum oder im Editor mit der rechten Maustaste auf eine Datei klickst, findest du unter Git zahlreiche dateispezifische Optionen:

Funktion Was sie tut
Add Datei zur Staging Area hinzufĂŒgen
Commit File Nur diese Datei committen
Show History Zeigt alle Commits, die diese Datei betreffen
Show Diff Vergleicht aktuelle Version mit letztem Commit
Annotate with Git Blame Zeigt zeilenweise, wer wann was geÀndert hat
Rollback Änderungen an dieser Datei verwerfen
Compare with Branch Datei mit Version aus anderem Branch vergleichen

Der Editor-Gutter – Änderungen auf einen Blick

Am linken Rand des Editors (neben den Zeilennummern) zeigt PhpStorm farbige Markierungen fĂŒr Änderungen:

Farbe Bedeutung
🟱 GrĂŒn Neue Zeilen (hinzugefĂŒgt)
đŸ”” Blau GeĂ€nderte Zeilen
đŸ”ș Dreieck/Pfeil Gelöschte Zeilen (an dieser Stelle wurde etwas entfernt)

Klickst du auf diese Markierungen, öffnet sich ein kleines Popup mit mehreren Optionen:

💡 Diese Funktion ist extrem praktisch, um einzelne Änderungen chirurgisch rĂŒckgĂ€ngig zu machen, ohne gleich die ganze Datei zurĂŒckzusetzen.


Die Toolbar – Schnellzugriff fĂŒr hĂ€ufige Aktionen

In der oberen Toolbar findest du Icons fĂŒr die hĂ€ufigsten Git-Operationen. Je nach PhpStorm-Version und Konfiguration können diese leicht variieren:


Das Commit-Fenster im Detail

Das Commit-Fenster (Strg + K / Cmd + K) verdient besondere Aufmerksamkeit, weil du es am hÀufigsten nutzen wirst:

flowchart TB
    subgraph COMMIT["Commit-Fenster"]
        FILES["📁 Dateiliste\nmit Checkboxen"]
        DIFF["🔍 Diff-Vorschau\nrechts daneben"]
        MESSAGE["✍ Commit-Nachricht\nTextfeld unten"]
        OPTIONS["⚙ Optionen\nAmend, Sign-off, etc."]
        BUTTONS["🔘 Buttons\nCommit / Commit and Push"]
    end
    
    FILES --> DIFF
    MESSAGE --> BUTTONS
    OPTIONS --> BUTTONS

Wichtige Funktionen im Commit-Fenster:


Die am hĂ€ufigsten genutzten Funktionen 🏆

Im Alltag wirst du einen kleinen Teil der Git-Funktionen sehr oft nutzen, wÀhrend andere nur in speziellen Situationen gebraucht werden:

TĂ€glich mehrfach genutzt

  1. Commit (Strg + K / Cmd + K)
    Du wirst stĂ€ndig Commits machen – das ist das HerzstĂŒck von Git.

  2. Push (Strg + Shift + K / Cmd + Shift + K)
    Nach dem Committen willst du deine Arbeit sichern.

  3. Pull / Update Project
    Zu Beginn jeder Arbeitssession holst du dir den aktuellen Stand.

  4. Branch wechseln (Statusleiste unten rechts)
    Wenn du mit Feature-Branches arbeitest, wechselst du regelmĂ€ĂŸig.

  5. Diff anzeigen (Editor-Gutter oder Doppelklick im Commit-Fenster)
    Du willst vor dem Commit sehen, was du geÀndert hast.

RegelmĂ€ĂŸig genutzt

  1. Neuen Branch erstellen (Statusleiste → New Branch)
    FĂŒr jedes neue Feature oder Experiment.

  2. Merge (Git-MenĂŒ oder Branch-Popup)
    Wenn ein Feature fertig ist, mergst du es zurĂŒck.

  3. Git Log (Git-Tool-Fenster)
    Um die Historie zu durchsuchen oder alte Commits zu finden.

  4. Rollback (Editor-Gutter oder KontextmenĂŒ)
    Um Änderungen zu verwerfen, die du doch nicht willst.

  5. Show History (KontextmenĂŒ auf einer Datei)
    Um zu sehen, wie sich eine bestimmte Datei entwickelt hat.

Gelegentlich genutzt

  1. Amend Commit (Checkbox im Commit-Fenster)
    Wenn du den letzten Commit korrigieren musst.

  2. Git Blame / Annotate (KontextmenĂŒ)
    Um herauszufinden, wer eine bestimmte Zeile geschrieben hat.

  3. Stash / Unstash (Git-MenĂŒ)
    Um Änderungen temporĂ€r beiseitezulegen.

  4. Cherry-Pick (Rechtsklick auf Commit im Log)
    Um einzelne Commits in einen anderen Branch zu ĂŒbernehmen.

  5. Revert Commit (Rechtsklick auf Commit im Log)
    Um einen Commit rĂŒckgĂ€ngig zu machen (mit neuem Commit).


Übersicht: Wo finde ich was?

Was will ich tun? Wo finde ich es?
Committen Strg + K oder Git-MenĂŒ → Commit
Pushen Strg + Shift + K oder Git-MenĂŒ → Push
Pullen Git-MenĂŒ → Pull oder Toolbar-Icon
Branch wechseln Statusleiste unten rechts
Neuen Branch erstellen Statusleiste → New Branch
Branches mergen Git-MenĂŒ → Merge oder Branch-Popup → Merge into Current
Historie ansehen Git-Tool-Fenster (unten) → Log-Tab
Datei-Historie ansehen Rechtsklick auf Datei → Git → Show History
Änderungen vergleichen Editor-Gutter oder Rechtsklick → Git → Show Diff
Änderungen verwerfen Editor-Gutter-Klick → Rollback oder Rechtsklick → Git → Rollback
Merge-Konflikte lösen Automatisches Popup oder Git-MenĂŒ → Resolve Conflicts
Letzten Commit Ă€ndern Im Commit-Fenster: Checkbox „Amend commit"

Mein Tipp fĂŒr den Einstieg 💡

Konzentriere dich am Anfang auf diese fĂŒnf Kernfunktionen:

  1. Commit (Strg + K)
  2. Push (Strg + Shift + K)
  3. Pull (Git-MenĂŒ oder Toolbar)
  4. Branch wechseln (Statusleiste)
  5. Git Log ansehen (Tool-Fenster unten)

Wenn du diese fĂŒnf beherrschst, deckst du 90% deines Git-Alltags ab. Die restlichen Funktionen lernst du dann nach und nach kennen, wenn du sie brauchst – und du weißt jetzt, wo du sie findest! 🚀

Die Diff-Ansicht in PhpStorm – Änderungen verstehen und gezielt committen 🔍

Wenn du an deinem Code arbeitest, möchtest du oft wissen: Was genau habe ich eigentlich seit dem letzten Commit geĂ€ndert? Und manchmal möchtest du nicht alle Änderungen auf einmal committen, sondern nur bestimmte Teile. PhpStorm bietet dir dafĂŒr eine leistungsstarke Diff-Ansicht und die Möglichkeit, Änderungen auf Zeilen-Ebene auszuwĂ€hlen – sogenannte partielle Commits oder Chunk-basiertes Staging.


Änderungen seit dem letzten Commit anzeigen

Es gibt mehrere Wege, um zu sehen, was sich in deinen Dateien geÀndert hat:

Weg 1: Über das Commit-Fenster

  1. Öffne das Commit-Fenster mit Strg + K (Windows/Linux) oder Cmd + K (macOS) – alternativ ĂŒber Git → Commit.
  2. Im linken Bereich siehst du alle Dateien, die seit dem letzten Commit verÀndert wurden. Sie sind farblich markiert:
    • Blau: GeĂ€nderte Dateien (modified)
    • GrĂŒn: Neue Dateien (untracked/added)
    • Rot/Grau: Gelöschte Dateien
  3. Doppelklicke auf eine Datei, um die Diff-Ansicht zu öffnen.

Weg 2: Direkt im Editor

Wenn du eine Datei geöffnet hast, zeigt PhpStorm dir Änderungen direkt im Randbereich (Gutter) an:

Klickst du auf eine dieser Markierungen, öffnet sich ein kleines Popup, das dir den vorherigen Zustand zeigt und dir erlaubt, die Änderung direkt rĂŒckgĂ€ngig zu machen.

Weg 3: Über das KontextmenĂŒ

  1. Rechtsklicke auf eine Datei im Projektbaum oder im Commit-Fenster.
  2. WĂ€hle Git → Show Diff (oder einfach Compare with
 → Last Commit).

Die Diff-Ansicht verstehen

Wenn du die Diff-Ansicht öffnest, siehst du standardmĂ€ĂŸig eine Side-by-Side-Darstellung:

┌─────────────────────────────┬─────────────────────────────┐
│     Alter Zustand           │      Neuer Zustand          │
│     (letzter Commit)        │      (deine Änderungen)     │
├─────────────────────────────┌──────────────────────────────
│  function login() {         │  function login() {         │
│      // alte Logik          │      // verbesserte Logik   │
│      return false;          │      $user = checkUser();   │
│  }                          │      return $user !== null; │
│                             │  }                          │
└─────────────────────────────┮─────────────────────────────┘

Die wichtigsten Elemente:

💡 Tipp: Du kannst die Darstellung umschalten – ĂŒber das Zahnrad-Icon in der Diff-Ansicht kannst du zwischen Side-by-Side und Unified View (alles untereinander) wechseln.


Einzelne Änderungen zum Commit auswĂ€hlen – partielle Commits

Jetzt kommt das wirklich MĂ€chtige: Du musst nicht die gesamte Datei committen. PhpStorm erlaubt dir, einzelne Chunks (zusammenhĂ€ngende Änderungsblöcke) oder sogar einzelne Zeilen auszuwĂ€hlen.

Warum ist das nĂŒtzlich?

Stell dir vor, du hast in einer Datei zwei verschiedene Dinge gemacht:

Das sind logisch zwei verschiedene Änderungen, die eigentlich in zwei verschiedene Commits gehören (mit jeweils aussagekrĂ€ftiger Commit-Nachricht). Mit partiellen Commits kannst du genau das tun.

So funktioniert es in PhpStorm

  1. Öffne das Commit-Fenster (Strg + K / Cmd + K).

  2. Klicke auf das Zahnrad-Icon (⚙) im Commit-Fenster und aktiviere die Option „Include into commit" oder Ă€hnlich, falls nicht schon aktiv.

  3. Doppelklicke auf die Datei, um die Diff-Ansicht zu öffnen.

  4. In der Diff-Ansicht siehst du nun Checkboxen neben jedem Änderungsblock (Chunk):

    ☑ Chunk 1: Login-Logik geĂ€ndert (Zeile 15-22)
    ☐ Chunk 2: Kommentar aktualisiert (Zeile 45-46)
    
  5. Aktiviere oder deaktiviere die Checkboxen, um festzulegen, welche Chunks in diesen Commit aufgenommen werden sollen.

  6. FĂŒr noch feinere Kontrolle: Manche Versionen von PhpStorm erlauben es, per Rechtsklick auf einen Chunk einzelne Zeilen auszuwĂ€hlen.

  7. Schließe die Diff-Ansicht und schreibe deine Commit-Nachricht nur fĂŒr die ausgewĂ€hlten Änderungen.

  8. Nach dem Commit sind die nicht ausgewĂ€hlten Änderungen immer noch da – du kannst sie im nĂ€chsten Commit mit einer anderen Nachricht speichern.

Visuelles Schema des Prozesses

flowchart TD
    A["📝 Datei mit mehreren Aenderungen"] --> B["Diff-Ansicht oeffnen"]
    B --> C{"Welche Chunks\ngehoeren zusammen?"}
    C --> D["Chunk 1 auswaehlen:\nLogin-Bugfix"]
    C --> E["Chunk 2 abwaehlen:\nKommentar-Update"]
    D --> F["Commit 1 erstellen:\nFix: Login-Validierung korrigiert"]
    F --> G["Chunk 2 ist noch da\nund wartet"]
    G --> H["Commit 2 erstellen:\nDocs: Kommentar aktualisiert"]

Praktisches Beispiel

Du hast folgende Änderungen in UserController.php:

Zeile Änderung Gehört zu
23-28 Passwort-Validierung hinzugefĂŒgt Feature: Sicherheit
45 Tippfehler in Variable korrigiert Fix: Typo
67-70 Neue Methode resetPassword() Feature: Sicherheit

Sinnvolle Vorgehensweise:

  1. Erster Commit: Zeilen 23-28 und 67-70 auswÀhlen

    Commit-Nachricht: Feat: Passwort-Validierung und Reset-Funktion hinzugefĂŒgt

  2. Zweiter Commit: Zeile 45 auswÀhlen

    Commit-Nachricht: Fix: Tippfehler in Variablenname korrigiert

So bleibt deine Git-Historie sauber und nachvollziehbar.


NĂŒtzliche TastenkĂŒrzel in der Diff-Ansicht

Aktion Windows/Linux macOS
Diff-Ansicht öffnen Doppelklick auf Datei im Commit-Fenster Doppelklick auf Datei im Commit-Fenster
Zur nĂ€chsten Änderung springen F7 F7
Zur vorherigen Änderung springen Shift + F7 Shift + F7
Änderung ĂŒbernehmen (von links nach rechts) Strg + Shift + → Cmd + Shift + →
Änderung rĂŒckgĂ€ngig machen Klick auf den RĂŒckgĂ€ngig-Pfeil Klick auf den RĂŒckgĂ€ngig-Pfeil
Diff schließen Esc Esc

Zusammenfassung ✅

💡 Profi-Tipp: Gewöhne dir an, vor jedem Commit kurz die Diff-Ansicht zu öffnen und zu prĂŒfen, ob wirklich alle Änderungen zusammengehören. Das dauert nur Sekunden, spart dir aber spĂ€ter viel Zeit beim Debugging oder wenn du eine bestimmte Änderung suchen musst.

Git-TastenkĂŒrzel in PhpStorm – schneller arbeiten mit Shortcuts ⌚

Sobald du die grundlegenden Git-Funktionen in PhpStorm beherrschst, kannst du deinen Workflow erheblich beschleunigen, indem du die wichtigsten Aktionen per TastenkĂŒrzel auslöst. Statt durch MenĂŒs zu navigieren, erledigst du Commits, Branch-Wechsel und vieles mehr in Sekundenbruchteilen. Hier findest du die nĂŒtzlichsten Shortcuts – organisiert nach HĂ€ufigkeit und Anwendungsbereich.


Die wichtigsten Shortcuts fĂŒr den tĂ€glichen Git-Workflow

Diese TastenkĂŒrzel wirst du vermutlich am hĂ€ufigsten verwenden. Es lohnt sich, sie als Erstes zu verinnerlichen:

Aktion Windows/Linux macOS
Commit-Dialog öffnen Strg + K Cmd + K
Push durchfĂŒhren Strg + Shift + K Cmd + Shift + K
Pull/Update durchfĂŒhren Strg + T Cmd + T
VCS-Operationen-Popup Alt + ` (Backtick) Ctrl + V
Git-Log anzeigen Alt + 9 Cmd + 9

💡 Tipp: Das VCS-Operationen-Popup (Alt + `` bzw. Ctrl + V` auf macOS) ist besonders praktisch – es zeigt dir ein kontextbezogenes MenĂŒ mit allen relevanten Git-Aktionen fĂŒr die aktuelle Datei oder das Projekt.


Branch-Management per Tastatur

Das Wechseln und Verwalten von Branches geht mit diesen Shortcuts deutlich schneller:

Aktion Windows/Linux macOS
Branches-Popup öffnen Strg + Shift + ` Cmd + Shift + `
Neuen Branch erstellen Über Branches-Popup → New Branch Über Branches-Popup → New Branch

Das Branches-Popup ist dein zentraler Anlaufpunkt fĂŒr alles rund um Branches: Hier siehst du alle lokalen und Remote-Branches, kannst zwischen ihnen wechseln, neue erstellen, mergen oder löschen – alles ohne die Maus.


Änderungen vergleichen und navigieren

Wenn du verstehen möchtest, was sich geÀndert hat, helfen diese Shortcuts:

Aktion Windows/Linux macOS
Diff zur letzten Version anzeigen Strg + D (im Commit-Fenster) Cmd + D
Zur nĂ€chsten Änderung springen F7 (im Diff-Viewer) F7
Zur vorherigen Änderung springen Shift + F7 Shift + F7
Lokale Historie anzeigen Alt + Shift + H Cmd + Shift + H
Annotate (Blame) anzeigen Rechtsklick → Annotate with Git Blame –

Änderungen rĂŒckgĂ€ngig machen

FĂŒr den Fall, dass du schnell einen Schritt zurĂŒck musst:

Aktion Windows/Linux macOS
Rollback (Änderungen verwerfen) Strg + Alt + Z Cmd + Option + Z
Letzte Aktion rĂŒckgĂ€ngig Strg + Z Cmd + Z

Der Rollback-Shortcut ist besonders mĂ€chtig: Er setzt ausgewĂ€hlte Dateien auf den letzten Commit-Stand zurĂŒck – praktisch, wenn du dich experimentell verrannt hast.


NĂŒtzliche allgemeine Shortcuts mit Git-Bezug

Diese TastenkĂŒrzel sind nicht Git-spezifisch, helfen aber im Git-Workflow enorm:

Aktion Windows/Linux macOS
Suche ĂŒberall (auch Branches, Commits) Shift + Shift (doppelt) Shift + Shift
Aktionen suchen Strg + Shift + A Cmd + Shift + A
Tool-Fenster wechseln Alt + [Zahl] Cmd + [Zahl]

Mit „Aktionen suchen" (Strg + Shift + A) kannst du jeden Git-Befehl finden, auch wenn du den Shortcut nicht kennst – tippe einfach „Commit", „Push", „Branch" usw. ein.


Shortcuts anpassen und eigene erstellen

Falls dir ein Shortcut nicht zusagt oder du einen fehlenden hinzufĂŒgen möchtest:

  1. Gehe zu File → Settings (bzw. PhpStorm → Settings auf macOS)
  2. Navigiere zu Keymap
  3. Suche nach der gewĂŒnschten Aktion (z. B. „Git Push")
  4. Rechtsklick → Add Keyboard Shortcut
  5. DrĂŒcke deine gewĂŒnschte Tastenkombination und bestĂ€tige

Du kannst auch eine komplett andere Keymap wÀhlen (z. B. Eclipse oder Visual Studio), falls du von einer anderen IDE kommst.


Mein Empfohlenes „Starter-Set" 🎯

Wenn du nur fĂŒnf Shortcuts lernen möchtest, nimm diese:

  1. Strg + K – Commit-Dialog öffnen
  2. Strg + Shift + K – Push durchfĂŒhren
  3. Strg + T – Pull/Update holen
  4. Strg + Shift + ` – Branches-Popup öffnen
  5. Strg + Alt + Z – Änderungen verwerfen (Rollback)

Mit diesen fĂŒnf Shortcuts deckst du etwa 80 % deiner tĂ€glichen Git-Interaktionen ab – und sparst dabei jede Menge Zeit. Die restlichen Shortcuts kommen dann nach und nach dazu, je nachdem welche Funktionen du hĂ€ufiger nutzt.