Wie quetschen Sie alle Commits in einem?

How Do You Squash All Commits One

In Git Squash ist eine Technik, mit der Sie eine Reihe von Änderungen an Commits vornehmen und diese dann in einem Commit zusammenfassen können. Lassen Sie uns das mit Hilfe eines Beispiels erklären, angenommen, Sie haben n Commits und wenn Sie Git-Squashing darauf anwenden, können Sie alle 'n' Commits zu einem einzigen Commit zusammenfassen oder komprimieren. Git Squash wird verwendet, um mehrere große Commits in einen kleinen, sinnvollen Commit zu verwandeln. So können Sie das Git-Log übersichtlicher gestalten. Sie können Zweige auch mit der Squashing-Technik zusammenführen. Es ist eine bewährte Methode, Commits immer zu quetschen und mit dem Master- oder Parent-Zweig zu rebasieren.

In diesem Artikel erfahren Sie, wie Sie alle Commits in einem einzigen Commit in git quetschen. Wir haben alle Schritte auf der CentOS 8 Linux-Distribution implementiert.



Squash verbindet sich mit git

Sie können das Git-Squashing in die folgenden Schritte implementieren:



Schritt 1: Wählen Sie Commit starten

Um zu bestimmen, wie viele Commits Sie quetschen müssen, führen Sie den folgenden Befehl auf dem Terminal aus:



$ git log

Jetzt rufen Sie das Git auf, um eine interaktive Rebase-Sitzung zu starten, indem Sie den folgenden Befehl verwenden:

$ git rebase -i HEAD~N

Im obigen HEAD~N ist das ‚N‘ die Gesamtzahl der Commits, die Sie mit dem Befehl ‚git log‘ ermittelt haben. Nehmen wir an, die Anzahl der Commits beträgt 4. Nun ändert sich der Befehl in die folgende Form:

$ git rebase -i HEAD~4

Die folgende Commits-Liste wird auf dem Terminal angezeigt, wo jeder Commits mit dem Wort-Pick beginnt.

Schritt 2: Pick in Squash ändern

Hier markieren wir alle Commits als squashable, lassen den ersten Commit, der als Ausgangspunkt verwendet wird. Ändern Sie also den vim-Editor in den Einfügemodus, indem Sie 'i' drücken, und ändern Sie den All-Pick-Commit in den Squash außer dem ersten Commit. Drücken Sie nun 'Esc', um den Einfügemodus zu ändern, und drücken Sie ':wq!', um alle Änderungen zu speichern und zu beenden. Wenn Sie dann den einfachen Texteditor verwenden, können Sie das Wort „pick“ einfach in „Squash“ ändern und die Änderungen speichern. Danach sehen Sie auf dem Terminal folgendes Fenster:

Wenn Sie diese Shell verlassen, werden die folgenden Meldungen im Terminalfenster angezeigt:

Wenn Sie dann alle zusammendrücken, werden alle Commits zu einer einzigen Commit-Anweisung zusammengefasst, die auf dem Terminal angezeigt wird:

Abschluss

Durch die Verwendung von git squash können Sie ganz einfach viele Commits zu einem kleineren einzigen Commit zusammenfassen oder komprimieren. Sie können diese Technik verwenden, um Rechtschreibfehler in der Dokumentation zu beheben. In diesem Artikel haben wir git squash implementiert. Wir haben auch gesehen, wie wir den Verlauf mit den Befehlen git rebase und squash sauber machen können.