Wie kann man in Sublime Merge mehrere Commits squashen?

Melden
  1. Was bedeutet Commit Squashen?
  2. Vorbereitung in Sublime Merge
  3. Commits in Sublime Merge squashen
  4. Details beim interaktiven Rebase
  5. Wichtiges zum Squashen in Sublime Merge
  6. Fazit

Das Squashen von Commits ist eine wichtige Technik in der Versionsverwaltung, um die Commit-Historie aufzuräumen und mehrere Änderungen zu einem einzigen sauberen Commit zusammenzufassen. Sublime Merge, der Git-Client von den Entwicklern von Sublime Text, bietet eine benutzerfreundliche Oberfläche, um solche Operationen durchzuführen. Diese Antwort erklärt Schritt für Schritt, wie man in Sublime Merge mehrere Commits squashen kann und welche Besonderheiten es dabei zu beachten gibt.

Was bedeutet Commit Squashen?

Squashen bezeichnet das Zusammenführen mehrerer aufeinanderfolgender Commits in einem neuen Commit. Dadurch wird die Historie übersichtlicher und unnötige kleine oder fehlerhafte Commits können vor dem Teilen mit anderen Entwicklern zusammengefasst werden. Dies hilft vor allem, wenn man vor einem Merge-Request oder Pull-Request die Commit-Historie bereinigen möchte.

Vorbereitung in Sublime Merge

Bevor man in Sublime Merge Commits squashen kann, sollte man sicherstellen, dass der Branch lokal aktuell ist und keine Konflikte vorliegen. Sublime Merge zeigt die Commit-Historie übersichtlich an, sodass man die Commits, die man zusammenfassen möchte, einfach auswählen kann. Um Squashen durchzuführen, arbeitet man am besten in einem Feature-Branch, denn bei Änderungen an öffentlichen Branches sollte man vorsichtig sein.

Commits in Sublime Merge squashen

Im Gegensatz zur reinen Befehlszeile stellt Sublime Merge zwar keine explizite "Squash"-Schaltfläche bereit, jedoch kann man das Squashen über das interaktive Rebase-Feature realisieren. Dafür ruft man im Menü oder per Rechtsklick die Option "Rebase" oder "Interactive Rebase" auf und legt den Ziel-Commit fest, bis zu dem man zurückgehen möchte. Im daraufhin geöffneten Fenster kann man bestimmen, welche Commits zusammengeführt ("squashed") werden sollen. Dabei wird der erste Commit behalten und die darunter liegenden ausgewählten Commits in diesen integriert.

Details beim interaktiven Rebase

Während des interaktiven Rebase sieht man eine Liste der letzten Commits mit Aktionen wie "pick" oder "squash". Um mehrere Commits zu squashen, ändert man die Aktion für die betreffenden Commits in "squash". Sublime Merge zeigt anschließend ein Formular an, um die Commit-Nachricht des neuen zusammengefassten Commits anzupassen. Nach Abschluss des Rebase respektiert Git die Änderungen und ersetzt die vorherigen einzelnen Commits durch den neuen, zusammengefassten Commit im Verlauf.

Wichtiges zum Squashen in Sublime Merge

Das Squashen verändert die Commit-Historie und ist daher eine sogenannte "History Rewriting"-Operation. Es sollte daher nur auf Commits angewandt werden, die noch nicht mit anderen geteilt wurden, um Konflikte und Merge-Probleme zu vermeiden. Sublime Merge macht diesen Prozess visuell und interaktiv, sodass Anwender Fehlermöglichkeiten minimieren können. Im Fall von Konflikten während des Rebase-Prozesses bietet Sublime Merge eine ausführliche Hilfestellung, um diese zu lösen.

Fazit

Sublime Merge unterstützt das Squashen von Commits vor allem über die Funktion des interaktiven Rebase. Während es keine einzelne Squash-Schaltfläche gibt, ermöglicht der Rebase-Dialog das Zusammenfassen von mehreren Commits zu einem einzigen, sauber dokumentierten Commit. Dies trägt dazu bei, den Git-Verlauf übersichtlich zu halten und ist besonders praktisch vor dem Teilen von Änderungen in einem Team oder zur Vorbereitung von Pull-Requests.

0

Kommentare