Änderungen rückgängig machen in PhpStorm – vor dem Commit 🔄
Du hast an einer oder mehreren Dateien gearbeitet, aber die Änderungen gefallen dir nicht oder du hast dich verrannt? Kein Problem – solange du noch nicht committed hast, kannst du deine Dateien ganz einfach auf den letzten gespeicherten Stand im Repository zurücksetzen. PhpStorm bietet dafür eine komfortable Funktion namens Rollback.
Das Konzept verstehen
Wenn du Änderungen an Dateien vornimmst, befinden sich diese zunächst im Working Directory – also deinem Arbeitsbereich. Git weiß, dass die Dateien verändert wurden (sie erscheinen als „modified"), aber diese Änderungen sind noch nicht Teil der Versionshistorie.
Der Befehl, den du im Terminal verwenden würdest, heißt git checkout -- <datei> oder in neueren Git-Versionen git restore <datei>. In PhpStorm musst du dir diese Befehle aber nicht merken – du nutzt einfach die Rollback-Funktion.
flowchart LR
A["Datei im Working Directory\ngeaendert"] -->|Rollback| B["Datei zurueckgesetzt\nauf letzten Commit-Stand"]
A -->|Ohne Rollback| C["Aenderung bleibt\nbis zum naechsten Commit"]
⚠️ Wichtig: Wenn du eine Datei zurücksetzt, sind die Änderungen unwiderruflich verloren – es gibt kein „Undo" für den Rollback selbst. Überlege also kurz, ob du die Änderungen wirklich verwerfen möchtest.
Eine einzelne Datei zurücksetzen
Wenn du nur eine bestimmte Datei auf den letzten Commit-Stand zurücksetzen möchtest, hast du in PhpStorm mehrere Möglichkeiten:
Über das Kontextmenü im Projektbaum
Über das Commit-Fenster
-
Öffne das Commit-Tool-Fenster mit
Ctrl + K(Windows/Linux) bzw.Cmd + K(macOS) oder über Git → Commit… -
Im Commit-Fenster siehst du links eine Liste aller geänderten Dateien. Rechtsklick auf die Datei, die du zurücksetzen möchtest.
-
Wähle Rollback… aus dem Kontextmenü.
-
Bestätige den Dialog – die Datei wird auf den Stand des letzten Commits zurückgesetzt.
Direkt im Editor
Wenn du die betreffende Datei gerade geöffnet hast, kannst du auch über das Menü gehen:
-
Gehe zu Git → Rollback… (oder VCS → Git → Rollback… in älteren Versionen)
-
PhpStorm zeigt dir einen Dialog mit allen geänderten Dateien. Wähle nur die Datei aus, die du zurücksetzen möchtest (andere Häkchen entfernen).
-
Klicke auf Rollback.
Alle Änderungen auf einmal zurücksetzen
Manchmal möchtest du einen kompletten „Reset" machen und alle nicht-committeten Änderungen verwerfen. Auch das ist in PhpStorm schnell erledigt:
-
Öffne das Commit-Fenster mit
Ctrl + K/Cmd + K. -
Du siehst die Liste aller geänderten Dateien. Markiere alle Dateien, die du zurücksetzen möchtest (mit
Ctrl + A/Cmd + Akannst du alle auswählen). -
Rechtsklick auf die Auswahl und wähle Rollback…
-
Bestätige den Dialog – alle ausgewählten Dateien werden auf den letzten Commit-Stand zurückgesetzt.
Alternativ kannst du auch direkt über das Menü gehen:
- Gehe zu Git → Rollback…
- Im Dialog sind standardmäßig alle geänderten Dateien ausgewählt
- Klicke auf Rollback, um alles zurückzusetzen
Was ist mit bereits gestageten Dateien?
Wenn du Dateien bereits zur Staging Area hinzugefügt hast (also mit git add oder in PhpStorm durch Anhaken im Commit-Dialog), funktioniert der Rollback trotzdem – PhpStorm entfernt die Datei aus der Staging Area und setzt sie auf den letzten Commit-Stand zurück.
Falls du eine Datei nur aus der Staging Area entfernen möchtest, aber die Änderungen im Working Directory behalten willst, ist das ein anderer Fall: Dann entfernst du einfach das Häkchen bei der Datei im Commit-Dialog, ohne einen Rollback zu machen.
Zusammenfassung der Schritte
| Was du tun möchtest | So geht's in PhpStorm |
|---|---|
| Eine Datei zurücksetzen | Rechtsklick auf Datei → Git → Rollback… |
| Alle Änderungen zurücksetzen | Ctrl/Cmd + K → alle auswählen → Rechtsklick → Rollback… |
| Aus Staging entfernen (Änderungen behalten) | Im Commit-Dialog das Häkchen bei der Datei entfernen |
Der Unterschied zu „Revert Commit"
Verwechsle Rollback nicht mit Revert:
- Rollback verwirft Änderungen, die du gemacht hast, aber noch nicht committed hast
- Revert erstellt einen neuen Commit, der die Änderungen eines bereits existierenden Commits rückgängig macht
Wenn du also Änderungen rückgängig machen willst, die du schon committed hast, brauchst du einen anderen Ansatz – aber das ist ein Thema für ein anderes Kapitel. 😉