Es ist üblich, in Git Fehler bei der Erstellung von Commit-Nachrichten zu machen, aber keine Sorge, Sie können eine bestehende, nicht gepushte Commit-Nachricht ändern. In dieser Anleitung werden zwei Methoden behandelt: Ändern der zuletzt geschriebenen Commit-Nachricht und Durchführen eines interaktiven Rebase.
Wenn Sie die zuletzt geschriebene Commit-Nachricht ändern möchten, verwenden Sie den Befehl git commit --amend
. Dieser Befehl öffnet Ihren Texteditor und ermöglicht es Ihnen, die Commit-Nachricht des zuletzt geschriebenen Commits zu ändern. Sie können die Commit-Nachricht auch direkt in der Befehlszeile mit git commit --amend -m "Neue Commit-Nachricht"
festlegen, aber dies kann das Eingeben von mehrzeiligen Commit-Nachrichten oder kleinen Korrekturen umständlicher machen.
Stellen Sie sicher, dass Sie keine Arbeitskopie-Änderungen haben, die vor dem Ändern der Commit-Nachricht gestaged wurden, da diese sonst ebenfalls committet werden. Unstaged-Änderungen werden nicht committet.
Eine weitere Möglichkeit ist die Verwendung eines interaktiven Rebase. Diese Methode ermöglicht es Ihnen, jede Nachricht zu bearbeiten, die Sie aktualisieren möchten, auch wenn es sich nicht um die neueste Nachricht handelt.
Ermitteln Sie die Anzahl der Commits, die Sie aktualisieren möchten. Nennen wir dies n
.
Führen Sie git rebase -i HEAD~n
aus. Dadurch wird Ihr Texteditor mit einer Liste aller Commits seit dem von Ihnen angegebenen geöffnet.
Ändern Sie pick
in reword
(oder auf älteren Versionen von Git in edit
) vor jedem Commit, den Sie ändern möchten.
Sobald Sie speichern, wiederholt Git die aufgelisteten Commits.
Für jeden Commit, den Sie ändern möchten, bringt Git Sie zurück in Ihren Texteditor. Wenn Sie einen Commit bearbeiten möchten, bringt Git Sie in die Shell.
Ändern Sie die Commit-Nachricht nach Belieben.
Führen Sie git commit --amend
aus.
Wenn Sie sich in der Shell befinden, führen Sie git rebase --continue
aus.
Beachten Sie, dass diese Methode die Commit-ID ändern kann. Seien Sie vorsichtig beim Ändern von Commits, die Sie bereits mit anderen geteilt haben. Das Ändern von Commits schreibt sie im Wesentlichen um und vergibt ihnen unterschiedliche SHA-IDs, was ein Problem darstellt, wenn andere Kopien des alten Commits haben, den Sie neu geschrieben haben. Jeder, der eine Kopie des alten Commits hat, muss seine Arbeit mit Ihrem neu geschriebenen Commit synchronisieren, was manchmal schwierig sein kann. Stellen Sie also sicher, dass Sie mit anderen koordinieren, wenn Sie versuchen, gemeinsame Commit-Historien neu zu schreiben, oder vermeiden Sie es einfach, gemeinsame Commits neu zu schreiben.
Nun wissen Sie, wie Sie bestehende, nicht gepushte Commit-Nachrichten in Git modifizieren können. Denken Sie daran, diese Methoden vorsichtig zu verwenden und sich immer mit anderen abzustimmen, wenn Sie gemeinsame Commit-Historien neu schreiben möchten.