Wie kann ich ein Commit in Sublime Merge rückgängig machen oder ändern?

Melden
  1. Einführung
  2. Ein Commit direkt ändern (Commit amend)
  3. Ein Commit rückgängig machen (Revert)
  4. Auf einen früheren Commit zurücksetzen (Reset)
  5. Zusätzliche Hinweise zur Sicherheit

Einführung

Sublime Merge ist ein beliebter Git-Client, der eine visuelle Oberfläche bietet, um die Komplexität von Git-Operationen zu vereinfachen. Wenn man ein Commit rückgängig machen oder ändern möchte, gibt es je nach Situation und Wunsch verschiedene Möglichkeiten. Dabei ist zwischen dem "Revertieren" eines Commits, dem Ändern eines letzten Commits und dem Zurücksetzen auf einen früheren Zustand zu unterscheiden.

Ein Commit direkt ändern (Commit amend)

Falls Sie gerade erst commitet haben und noch keinen weiteren Commit gemacht haben, können Sie den letzten Commit ändern oder erweitern. Dies ist hilfreich, wenn Sie zum Beispiel vergessen haben, eine Datei hinzuzufügen oder die Commit-Nachricht anpassen möchten.

Dazu wählen Sie in Sublime Merge zunächst den letzten Commit an (normalerweise ganz oben in der `Branch History`). Dort finden Sie die Option Amend Commit in der Toolbar oder im Kontextmenü. Wenn Sie diese aktivieren, können Sie Dateien hinzufügen oder entfernen und auch die Commit-Nachricht bearbeiten. Sobald Sie fertig sind, klicken Sie auf Commit, um den bestehenden Commit zu überschreiben.

Ein Commit rückgängig machen (Revert)

Wollen Sie einen älteren Commit rückgängig machen, ohne den Verlauf umzuschreiben, können Sie den Commit revertieren. Dabei wird ein neuer Commit erstellt, der die Änderungen des ausgewählten Commits wieder zurücknimmt. Dies ist vor allem dann sinnvoll, wenn der Commit bereits gepusht wurde und Sie die Historie nicht ändern möchten.

Markieren Sie den Commit, den Sie rückgängig machen möchten, klicken Sie mit der rechten Maustaste darauf, und wählen Sie Revert Commit. Sublime Merge erstellt dann automatisch einen neuen Commit, der die Änderungen umkehrt. Danach können Sie diesen Commit wie gewohnt pushen.

Auf einen früheren Commit zurücksetzen (Reset)

Wenn Sie Ihre Historie umschreiben möchten, also beispielsweise einen oder mehrere letzte Commits komplett entfernen wollen, können Sie ein Reset durchführen. Hierbei gibt es drei Optionen: Soft, Mixed und Hard Reset.

Der Soft Reset verschiebt den aktuellen Branch-Zeiger auf einen früheren Commit, behält aber Ihre Arbeitskopie und Staging-Area bei. Das heißt, die Änderungen bleiben erhalten und können neu committet werden. Ein Mixed Reset verschiebt ebenfalls den Zeiger, entfernt aber die Änderungen aus dem Staging-Bereich, während die Arbeitskopie unverändert bleibt. Beim Hard Reset wird alles zurückgesetzt: Branch-Zeiger, Staging-Bereich und Arbeitskopie werden auf den gewählten Commit zurückgesetzt. Dabei gehen ungesicherte Änderungen verloren, weshalb Vorsicht geboten ist.

In Sublime Merge klicken Sie auf den Commit, zu dem Sie zurücksetzen möchten, dann auf den Button Reset Current Branch to this Commit. Im folgenden Dialog können Sie wählen, welchen Reset-Typ Sie durchführen möchten. Nach Bestätigung wird der Branch entsprechend verschoben.

Zusätzliche Hinweise zur Sicherheit

Wenn Sie Commits bereits gepusht haben, ist Vorsicht geboten bei Reset- oder Amend-Operationen, da diese die Git-Historie umschreiben und zu Konflikten mit anderen Entwicklern führen können. In solchen Fällen ist es oft besser, einen Revert-Commit zu erstellen, um die Historie konsistent und nachvollziehbar zu halten.

Zusammenfassend bietet Sublime Merge komfortable Werkzeuge, um Commits zu modifizieren oder rückgängig zu machen. Die Auswahl der richtigen Methode hängt immer davon ab, ob die Änderungen bereits geteilt (gepusht) wurden und wie sicher Sie mit dem Umschreiben der Historie umgehen möchten.

0

Kommentare