Kapitel 4: Commits erstellen und verstehen Einleitung: Commits sind das Herzstück von Git – sie sind die „Speicherpunkte" deines Projekts. Jeder Commit ist ein Schnappschuss deines gesamten Projekts zu einem bestimmten Zeitpunkt, versehen mit einer Nachricht, die beschreibt, was du geändert hast. Die Kunst besteht darin, sinnvolle Commits zu erstellen: nicht zu groß (damit sie übersichtlich bleiben), nicht zu klein (damit sie bedeutsam sind), und mit klaren Nachrichten versehen. In diesem Kapitel lernst du nicht nur, wie du Commits erstellst, sondern auch, wie du sie nachträglich korrigieren kannst, falls dir ein Fehler unterläuft. PhpStorm bietet dafür eine sehr komfortable Oberfläche, die den Prozess deutlich vereinfacht. Dein erster Commit in PhpStorm – Schritt für Schritt 🎉 Du hast dein Projekt als Git-Repository initialisiert und möglicherweise schon eine .gitignore-Datei angelegt. Jetzt wird es Zeit, deinen ersten Commit zu machen – also einen Schnappschuss deines aktuellen Projektstands in der Git-Historie zu speichern. Der Ablauf im Überblick Bevor wir in die Details gehen, hier der grundsätzliche Prozess: flowchart LR A["1. Dateien bearbeiten\nim Working Directory"] --> B["2. Dateien zur\nStaging Area hinzufuegen"] B --> C["3. Commit erstellen\nmit Nachricht"] C --> D["4. Aenderung ist\nin der Historie"] In PhpStorm ist dieser Prozess besonders komfortabel, weil du alles in einer einzigen Oberfläche erledigen kannst. Schritt-für-Schritt-Anleitung Das Commit-Fenster öffnen Es gibt mehrere Wege, das Commit-Fenster zu öffnen: Tastenkürzel: Strg + K (Windows/Linux) bzw. Cmd + K (macOS) – der schnellste Weg Menü: Gehe zu Git → Commit… Toolbar: Klicke auf das grüne Häkchen-Symbol in der oberen Symbolleiste Es öffnet sich links (oder als separates Fenster, je nach Einstellung) das Commit-Tool-Window. Dateien für den Commit auswählen Im Commit-Fenster siehst du eine Liste aller Dateien, die sich seit dem letzten Commit geändert haben. Diese sind in Kategorien unterteilt: Unversioned Files: Neue Dateien, die Git noch nicht kennt (rot markiert) Modified Files: Bereits getrackte Dateien, die du verändert hast (blau markiert) Deleted Files: Dateien, die gelöscht wurden 💡 Tipp: Bei deinem allerersten Commit werden alle Dateien als „Unversioned" angezeigt, weil Git sie noch nie gesehen hat. So wählst du Dateien aus: Setze ein Häkchen vor jede Datei, die du in diesen Commit aufnehmen möchtest Um alle Dateien auszuwählen, klicke auf das Häkchen ganz oben bei „Changes" oder „Unversioned Files" Du kannst auch einzelne Dateien gezielt ein- oder ausschließen PhpStorm zeigt dir bei jeder Datei eine Vorschau der Änderungen (Diff), wenn du sie anklickst. So kannst du nochmal prüfen, was genau du committen wirst. Eine aussagekräftige Commit-Nachricht schreiben Unterhalb der Dateiliste findest du ein Textfeld mit dem Platzhalter „Commit Message". Hier beschreibst du, was du geändert hast und warum. Für deinen ersten Commit ist eine einfache Nachricht völlig in Ordnung, zum Beispiel: Initial commit: Projektstruktur angelegt oder etwas ausführlicher: Erstes Commit: Grundlegende PHP-Dateien und Konfiguration hinzugefügt 📝 Best Practice: Schreibe die Nachricht so, dass du (oder andere) in drei Monaten noch verstehst, was dieser Commit enthält. Mehr dazu später im Kurs bei den Best Practices. Optionale Einstellungen prüfen Unter dem Nachrichtenfeld findest du einige Optionen, die du für den Anfang meist ignorieren kannst: Amend commit: Fügt Änderungen zum letzten Commit hinzu (für Anfänger erstmal nicht relevant) Author: Zeigt deinen konfigurierten Namen und E-Mail – sollte bereits korrekt sein Before Commit: Hier kannst du automatische Prüfungen aktivieren (z. B. Code-Analyse, Reformatierung) Für deinen ersten Commit kannst du diese Optionen auf den Standardeinstellungen belassen. Den Commit abschließen Wenn du mit deiner Dateiauswahl und Nachricht zufrieden bist, klicke auf den Commit-Button unten im Fenster. ⚠️ Hinweis: Du siehst möglicherweise auch einen Button „Commit and Push". Dieser würde den Commit direkt auf einen Remote-Server (z. B. GitHub) hochladen. Da du noch kein Remote-Repository eingerichtet hast, wähle zunächst nur „Commit". PhpStorm zeigt dir kurz eine Bestätigung an, z. B.: 1 file committed: Initial commit: Projektstruktur angelegt Nach dem Commit: Überprüfen, ob alles geklappt hat Um sicherzugehen, dass dein Commit erfolgreich war, kannst du die Git-Historie in PhpStorm öffnen: Gehe zu Git → Show Git Log (oder klicke unten auf den Tab „Git" und dann auf „Log") Du siehst jetzt eine Liste aller Commits – bei deinem ersten Commit natürlich nur einen einzigen Eintrag Klickst du auf den Commit, zeigt dir PhpStorm an, welche Dateien enthalten sind und was geändert wurde Zusammenfassung des Prozesses Schritt Aktion Tastenkürzel Commit-Fenster öffnen Git → Commit… Strg/Cmd + K Dateien auswählen Häkchen setzen – Nachricht schreiben Im Textfeld eingeben – Commit abschließen Auf „Commit" klicken – Historie prüfen Git → Show Git Log Alt + 9 Was passiert eigentlich im Hintergrund? 🔍 Wenn du in PhpStorm auf „Commit" klickst, führt PhpStorm im Hintergrund zwei Git-Befehle aus: git add git commit -m "Deine Commit-Nachricht" Der erste Befehl verschiebt die Dateien in die Staging Area, der zweite erstellt den eigentlichen Commit im Repository. PhpStorm fasst diese beiden Schritte für dich zusammen, sodass du sie nicht einzeln ausführen musst – aber es ist gut zu wissen, was „unter der Haube" passiert. Du hast jetzt deinen ersten Commit erstellt! 🎊 Ab jetzt kannst du jederzeit weitere Änderungen machen und neue Commits erstellen – und dabei immer auf frühere Versionen zurückgreifen, falls nötig. Gute Commit-Nachrichten schreiben ✍️ Eine Commit-Nachricht ist mehr als nur eine Pflichtübung – sie ist Dokumentation für dein zukünftiges Ich und für jeden, der jemals mit deinem Code arbeiten wird. Schlecht formulierte Nachrichten machen die Git-Historie unbrauchbar, während gute Nachrichten dir helfen, Änderungen schnell zu verstehen, Fehler zu finden und den Projektverlauf nachzuvollziehen. Warum sind gute Commit-Nachrichten so wichtig? Stell dir vor, du suchst in drei Monaten einen Bug und schaust in deine Git-Historie. Du siehst Folgendes: fix update asdf done nochmal gefixt Das hilft dir überhaupt nicht. Du musst jeden Commit einzeln öffnen und den Code-Diff analysieren, um zu verstehen, was passiert ist. Bei einer sauberen Historie hingegen siehst du sofort: Benutzer-Login: Passwort-Validierung hinzugefügt Kontaktformular: E-Mail-Versand bei leeren Feldern verhindert Navigation: Dropdown-Menü schließt sich jetzt bei Klick außerhalb Hier erkennst du auf einen Blick, was jeder Commit bewirkt – ohne den Code überhaupt anzuschauen. Die wichtigsten Regeln für Commit-Nachrichten 1. Verwende eine aussagekräftige Betreffzeile Die erste Zeile deiner Commit-Nachricht ist die Betreffzeile – sie wird in Listen, Logs und Übersichten angezeigt. Sie sollte: Kurz und prägnant sein (idealerweise maximal 50–72 Zeichen) Im Imperativ formuliert sein (als würdest du Git einen Befehl geben) Das „Was" beschreiben, nicht das „Wie" 💡 Tipp: Vervollständige gedanklich den Satz: „Wenn dieser Commit angewendet wird, wird er…" – und dann kommt deine Betreffzeile. 2. Trenne Betreff und Beschreibung durch eine Leerzeile Wenn du mehr Details hinzufügen möchtest, lässt du nach der Betreffzeile eine leere Zeile und schreibst dann einen ausführlicheren Text. Viele Tools (auch PhpStorm und GitHub) behandeln die erste Zeile speziell – sie wird als Überschrift angezeigt. 3. Erkläre das „Warum", nicht nur das „Was" Der Code zeigt, was geändert wurde. Die Commit-Nachricht sollte erklären, warum du diese Änderung gemacht hast – besonders wenn es nicht offensichtlich ist. 4. Halte dich an eine konsistente Sprache Entscheide dich für eine Sprache (Deutsch oder Englisch) und bleibe dabei. In der Open-Source-Welt und bei internationalen Teams ist Englisch Standard, aber für persönliche oder deutschsprachige Teamprojekte ist Deutsch völlig in Ordnung. Beispiele: Schlechte vs. gute Commit-Nachrichten ❌ Schlechte Beispiele Nachricht Problem fix Was wurde gefixt? Wo? Warum? update Extrem nichtssagend – jeder Commit ist ein „Update" asdf / test / wip Keine Information, wirkt unprofessionell Änderungen gemacht Offensichtlich – aber welche Änderungen? Bug gefixt in der Datei login.php Zeile 47 wo die Variable falsch war Zu lang, zu viele Details, die sich ändern können Login Zu vage – was ist mit dem Login? ✅ Gute Beispiele Nachricht Warum gut? Passwort-Validierung bei Login hinzugefügt Klar, spezifisch, sagt was passiert 404-Fehler bei nicht existierenden Produktseiten behoben Beschreibt das Problem und die Lösung Bootstrap 5 auf Version 5.3 aktualisiert Konkret und nachvollziehbar Kontaktformular: Pflichtfeld-Prüfung für E-Mail ergänzt Nutzt Präfix zur Kategorisierung Performance: Datenbankabfragen in Produktliste optimiert Gibt Kontext durch Kategorie Eine bewährte Struktur für Commit-Nachrichten Für einfache Änderungen reicht eine einzelne Zeile. Bei komplexeren Commits empfiehlt sich dieses Format: Kurze Zusammenfassung im Imperativ (max. 50-72 Zeichen) Optionaler ausführlicher Text, der erklärt: - WARUM diese Änderung nötig war - Was der Kontext ist - Welche Entscheidungen getroffen wurden Falls relevant: Referenzen zu Issues, Tickets o.ä. Konkretes Beispiel: Warenkorb: Mengenänderung aktualisiert jetzt den Gesamtpreis Bisher wurde der Gesamtpreis im Warenkorb erst nach einem Seiten-Reload aktualisiert, wenn der Nutzer die Menge eines Produkts geändert hat. Das war verwirrend und führte zu Support-Anfragen. Die Lösung nutzt einen AJAX-Request, der bei jeder Mengenänderung den neuen Preis vom Server holt und das DOM aktualisiert. Praktische Konventionen und Präfixe Viele Teams nutzen Präfixe, um Commits zu kategorisieren. Das ist besonders hilfreich, wenn du später die Historie filterst oder durchsuchst. Hier eine einfache Variante, die auch für Solo-Projekte gut funktioniert: Präfix Verwendung Beispiel Feature: Neue Funktionalität Feature: Benutzer können Profilbild hochladen Fix: Fehlerbehebung Fix: Login-Button reagiert wieder auf mobilen Geräten Refactor: Code-Verbesserung ohne neue Funktion Refactor: Datenbank-Klasse in separate Datei ausgelagert Style: Optische Änderungen, Formatierung Style: Einheitliche Einrückung in allen PHP-Dateien Docs: Dokumentation Docs: README um Installationsanleitung erweitert Chore: Wartung, Dependencies Chore: Composer-Pakete aktualisiert 📌 Hinweis: Diese Präfixe sind Konventionen, keine festen Regeln. Wichtig ist, dass du konsistent bleibst – entweder immer Präfixe nutzen oder nie. Commit-Nachrichten in PhpStorm schreiben In PhpStorm hast du beim Commit-Dialog ein Textfeld für die Nachricht. Ein paar Tipps speziell für PhpStorm: Drücke Enter für eine neue Zeile, um Betreff und Beschreibung zu trennen PhpStorm zeigt dir eine Warnung, wenn deine Betreffzeile zu lang wird (über 72 Zeichen) Du kannst unter Settings → Version Control → Commit einstellen, dass PhpStorm dich erinnert, wenn die Nachricht leer oder sehr kurz ist Mit Strg+Shift+K (bzw. Cmd+Shift+K auf macOS) öffnest du direkt das Commit-Fenster Zusammenfassung: Die goldenen Regeln 📋 Schreibe im Imperativ – „Füge hinzu", nicht „Hinzugefügt" oder „Fügt hinzu" Halte die Betreffzeile kurz – maximal 50–72 Zeichen Sei spezifisch – „Login-Validierung" statt „Update" Erkläre das Warum – besonders bei nicht offensichtlichen Änderungen Ein Commit = eine logische Änderung – nicht drei verschiedene Dinge in einem Commit mischen Bleibe konsistent – gleiche Sprache, gleiche Konventionen im ganzen Projekt Eine gute Commit-Historie ist wie ein gut geführtes Logbuch: Sie erzählt die Geschichte deines Projekts und hilft dir, auch nach Monaten noch zu verstehen, warum du bestimmte Entscheidungen getroffen hast. 🚀 Die Git-Historie in PhpStorm anzeigen und verstehen 🔍 Nachdem du einige Commits gemacht hast, möchtest du natürlich auch nachschauen können, was du wann geändert hast. PhpStorm bietet dafür ein mächtiges, visuell ansprechendes Werkzeug: das Git Log. Hier erfährst du, wie du es nutzt und die Informationen richtig interpretierst. Das Git-Log-Fenster öffnen Es gibt mehrere Wege, um zur Commit-Historie zu gelangen: Über das Menü: Gehe zu Git → Show Git Log (oder in älteren Versionen VCS → Git → Show History). Über das Tool-Fenster: Am unteren Rand von PhpStorm findest du den Reiter Git. Klicke darauf, und du siehst automatisch den Log-Tab. Tastenkombination: Mit Alt + 9 (Windows/Linux) bzw. Cmd + 9 (macOS) öffnest du das Git-Tool-Fenster direkt. Das Log-Fenster zeigt dir eine chronologische Liste aller Commits – die neuesten oben, die ältesten unten. Die Ansicht verstehen Das Git-Log in PhpStorm ist in mehrere Bereiche aufgeteilt: flowchart TB subgraph LOG["Git Log Fenster"] A["Commit-Liste\nalle Commits chronologisch"] --> B["Commit-Details\nNachricht, Autor, Datum"] B --> C["Geaenderte Dateien\nListe der betroffenen Files"] C --> D["Diff-Ansicht\nkonkrete Aenderungen im Code"] end Die Commit-Liste (linker/oberer Bereich) Hier siehst du für jeden Commit: Commit-Nachricht – die erste Zeile deiner Nachricht (deshalb ist eine aussagekräftige erste Zeile so wichtig!) Autor – wer den Commit gemacht hat Datum und Uhrzeit – wann der Commit erstellt wurde Commit-Hash – eine eindeutige ID (z. B. a3b8f2c), mit der du den Commit referenzieren kannst Branch-Tags – farbige Labels zeigen an, zu welchem Branch ein Commit gehört 💡 Tipp: Die grafische Darstellung links neben den Commits zeigt dir die Branch-Struktur – also wo Branches abzweigen und wieder zusammengeführt werden. Die Commit-Details (mittlerer Bereich) Wenn du einen Commit in der Liste anklickst, siehst du rechts daneben oder darunter: Die vollständige Commit-Nachricht (auch mehrzeilige) Den vollständigen Commit-Hash Informationen über den Autor und den Committer (können unterschiedlich sein) Die geänderten Dateien Unterhalb der Commit-Details findest du eine Liste aller Dateien, die in diesem Commit geändert wurden. Jede Datei hat ein Symbol, das die Art der Änderung anzeigt: Symbol/Farbe Bedeutung 🟢 Grün / + Datei wurde neu hinzugefügt 🔵 Blau / ~ Datei wurde geändert 🔴 Rot / - Datei wurde gelöscht 🟣 Lila Datei wurde umbenannt oder verschoben Die konkreten Änderungen ansehen (Diff) Das eigentlich Spannende ist natürlich: Was genau wurde geändert? Dafür nutzt du die Diff-Ansicht: Datei auswählen: Klicke in der Liste der geänderten Dateien auf eine Datei. Diff öffnen: Doppelklicke auf die Datei oder drücke Strg + D (Windows/Linux) bzw. Cmd + D (macOS). Änderungen lesen: PhpStorm zeigt dir eine Side-by-Side-Ansicht: Links: Der alte Stand (vor dem Commit) Rechts: Der neue Stand (nach dem Commit) Gelöschte Zeilen sind rot markiert, hinzugefügte grün. So siehst du auf einen Blick, was sich geändert hat. 💡 Tipp: Du kannst die Ansicht auch auf „Unified" umstellen, wenn du lieber alles untereinander statt nebeneinander sehen möchtest. Das geht über das Zahnrad-Symbol in der Diff-Ansicht. Nützliche Filter und Suchfunktionen Bei größeren Projekten wird die Historie schnell lang. PhpStorm bietet dir praktische Filter, um den Überblick zu behalten: Nach Text suchen: Gib im Suchfeld einen Begriff ein, um Commits zu finden, deren Nachricht diesen Begriff enthält. Nach Autor filtern: Klicke auf das Filter-Symbol und wähle „User", um nur Commits eines bestimmten Autors zu sehen. Nach Datum filtern: Du kannst auch einen Zeitraum eingrenzen, z. B. „letzte Woche" oder ein bestimmtes Datum. Nach Pfad filtern: Besonders praktisch – du kannst die Historie auf eine einzelne Datei oder einen Ordner beschränken. Rechtsklicke dafür im Projektbaum auf eine Datei und wähle Git → Show History for Selection. Historie einer einzelnen Datei anzeigen Manchmal interessiert dich nicht die gesamte Projekt-Historie, sondern nur: Was ist mit dieser einen Datei passiert? Rechtsklicke auf die Datei im Projektbaum. Wähle Git → Show History. Du siehst jetzt nur die Commits, die diese Datei betreffen. Noch detaillierter wird es mit Annotate (auch „Blame" genannt): Öffne die Datei im Editor. Rechtsklicke in den linken Rand (wo die Zeilennummern stehen). Wähle Annotate with Git Blame. Jetzt siehst du für jede Zeile, in welchem Commit sie zuletzt geändert wurde, von wem und wann. Das ist unglaublich praktisch, um herauszufinden, wann und warum eine bestimmte Code-Stelle entstanden ist. Praktisches Beispiel Angenommen, du hast in den letzten Tagen mehrere Commits gemacht und möchtest nachschauen, wann du die Datei database.php zuletzt geändert hast: Öffne das Git-Log mit Alt + 9. Gib im Suchfeld oben database.php ein oder nutze den Pfad-Filter. Du siehst jetzt alle Commits, die diese Datei betreffen. Klicke auf einen Commit und dann doppelt auf database.php in der Dateiliste. Die Diff-Ansicht zeigt dir genau, welche Zeilen du damals geändert hast. Zusammenfassung Aktion Weg in PhpStorm Gesamte Historie anzeigen Git → Show Git Log oder Alt + 9 Änderungen eines Commits sehen Commit anklicken → Datei doppelklicken Historie einer Datei Rechtsklick → Git → Show History Wer hat welche Zeile geschrieben? Rechtsklick im Editor → Annotate with Git Blame Nach Commits suchen Suchfeld im Log-Fenster nutzen Mit diesen Werkzeugen hast du deine Projektgeschichte immer im Griff – du kannst jederzeit nachvollziehen, was sich wann und warum geändert hat. 🎯 Den letzten Commit in PhpStorm korrigieren 🔧 Es passiert jedem: Du hast gerade auf „Commit" geklickt und merkst sofort, dass du eine Datei vergessen hast oder sich ein peinlicher Tippfehler in die Commit-Nachricht eingeschlichen hat. Die gute Nachricht: Git bietet genau für diesen Fall eine elegante Lösung – das sogenannte Amend (englisch für „ändern" oder „verbessern"). Und PhpStorm macht es dir besonders einfach, diese Funktion zu nutzen. Was bedeutet „Amend" eigentlich? Wenn du einen Commit „amendest", ersetzt du den letzten Commit durch einen neuen. Dabei kannst du: Dateien hinzufügen, die du vergessen hattest Dateien entfernen, die versehentlich dabei waren Die Commit-Nachricht ändern Änderungen an bereits enthaltenen Dateien ergänzen Wichtig zu verstehen: Der alte Commit wird nicht wirklich „bearbeitet", sondern durch einen komplett neuen Commit ersetzt. Für dich sieht es so aus, als hättest du den Fehler nie gemacht – die Historie bleibt sauber. ⚠️ Achtung: Du solltest Amend nur verwenden, wenn du den Commit noch nicht gepusht hast. Sobald ein Commit auf einem Remote-Repository (z. B. GitHub) liegt und andere damit arbeiten könnten, kann das Ändern der Historie zu Problemen führen. Für lokale, noch nicht geteilte Commits ist Amend aber völlig unbedenklich. Schritt-für-Schritt-Anleitung in PhpStorm Fall 1: Du hast eine Datei vergessen Nimm die gewünschten Änderungen vor Bearbeite die vergessene Datei oder füge sie dem Projekt hinzu – ganz normal, wie du es sonst auch tun würdest. Öffne das Commit-Fenster Drücke Ctrl + K (Windows/Linux) bzw. Cmd + K (macOS), oder gehe über Git → Commit… Wähle die nachzureichenden Dateien aus Im Commit-Fenster siehst du links die Liste der geänderten Dateien. Setze den Haken bei den Dateien, die du zum letzten Commit hinzufügen möchtest. Aktiviere die Amend-Option Im Commit-Fenster findest du ein kleines Zahnrad-Symbol ⚙️ oder direkt eine Checkbox mit der Beschriftung „Amend commit" (manchmal auch „Amend" genannt). Diese Option befindet sich typischerweise: Rechts neben dem Eingabefeld für die Commit-Nachricht, oder Im Dropdown-Menü des Commit-Buttons Sobald du „Amend" aktivierst, passiert etwas Praktisches: Die Commit-Nachricht des letzten Commits wird automatisch ins Textfeld geladen. Commit-Nachricht anpassen (optional) Wenn die Nachricht bereits passt, lass sie so. Wenn du sie ändern möchtest, kannst du das jetzt tun. Commit abschließen Klicke auf Commit (nicht auf „Commit and Push"!). Der letzte Commit wird nun durch den neuen, korrigierten Commit ersetzt. Fall 2: Du möchtest nur die Commit-Nachricht ändern Manchmal hast du keine Dateien vergessen, sondern nur einen Tippfehler in der Nachricht oder möchtest sie präziser formulieren. Das geht noch schneller: Öffne das Commit-Fenster ( Ctrl + K / Cmd + K) Aktiviere „Amend commit" Die alte Nachricht erscheint im Textfeld. Korrigiere die Nachricht Schreibe die Nachricht so, wie sie sein sollte. Stelle sicher, dass keine Dateien ausgewählt sind Wenn du wirklich nur die Nachricht ändern willst, sollten keine neuen Dateien angehakt sein. PhpStorm wird dann nur die Nachricht aktualisieren. Klicke auf Commit Visueller Überblick flowchart TD A["Letzter Commit ist fehlerhaft\n- Datei vergessen?\n- Nachricht falsch?"] --> B["Aenderungen vornehmen\noder direkt Commit-Fenster oeffnen"] B --> C["Commit-Fenster oeffnen\nStrg+K / Cmd+K"] C --> D["Option 'Amend commit'\naktivieren"] D --> E{"Was korrigieren?"} E -->|Dateien nachreichen| F["Dateien auswaehlen\nund Commit"] E -->|Nur Nachricht| G["Nachricht korrigieren\nund Commit"] F --> H["Alter Commit wird ersetzt\nHistorie bleibt sauber"] G --> H Wo finde ich die Amend-Option genau? Je nach PhpStorm-Version kann die Oberfläche leicht variieren. Hier die typischen Stellen: PhpStorm-Version Position der Amend-Option Neuere Versionen (2021+) Direkt unter dem Nachrichtenfeld als Checkbox „Amend" oder im Zahnrad-Menü ⚙️ rechts Ältere Versionen Im Dropdown-Pfeil neben dem „Commit"-Button → „Commit and Amend" Wenn du die Option nicht sofort siehst, schau nach einem Zahnrad-Symbol oder einem kleinen Pfeil neben dem Commit-Button – dort verstecken sich oft erweiterte Optionen. Was passiert technisch im Hintergrund? Wenn du in der Kommandozeile arbeiten würdest, entspräche das Ganze diesem Befehl: git commit --amend Oder, wenn du auch Dateien hinzufügen möchtest: git add vergessene_datei.php git commit --amend Git erstellt dabei einen neuen Commit mit einer neuen ID (dem sogenannten Hash), der den alten ersetzt. Der alte Commit existiert technisch noch kurz im Hintergrund, wird aber nicht mehr referenziert und irgendwann automatisch aufgeräumt. Häufige Fragen und Stolperfallen „Kann ich auch ältere Commits ändern, nicht nur den letzten?" Ja, aber das ist deutlich komplizierter und erfordert einen sogenannten Interactive Rebase. Für den Anfang solltest du dich auf das Amenden des letzten Commits beschränken – das deckt 90 % der Fälle ab. „Ich habe schon gepusht – was jetzt?" Wenn du einen bereits gepushten Commit amendest und dann erneut pushen willst, wird Git sich beschweren, weil die Historien nicht mehr übereinstimmen. Du könntest einen Force Push machen ( git push --force), aber das ist gefährlich, wenn andere mit dem Repository arbeiten. Bei persönlichen Projekten, an denen nur du arbeitest, ist es meist okay – aber sei vorsichtig. „Was, wenn ich Amend aus Versehen aktiviert habe?" Keine Panik! Solange du noch nicht auf „Commit" geklickt hast, kannst du die Checkbox einfach wieder deaktivieren. Falls du den Amend-Commit bereits gemacht hast, kannst du mit git reflog (im Terminal) den alten Commit wiederfinden – aber das ist ein fortgeschrittenes Thema. Zusammenfassung ✅ Situation Lösung in PhpStorm Datei im letzten Commit vergessen Datei auswählen → „Amend commit" aktivieren → Commit Commit-Nachricht korrigieren „Amend commit" aktivieren → Nachricht ändern → Commit Bereits gepushter Commit ⚠️ Amend vermeiden oder Force Push (nur bei Solo-Projekten) Das Amenden ist eines der nützlichsten Features für den Alltag – es hält deine Commit-Historie sauber und erspart dir peinliche „Datei vergessen"-Commits. Nutze es ruhig großzügig, solange du noch nicht gepusht hast! 🎯