Zusammenführen und Squash in Git

Abdul Jabbar 30 Januar 2023
  1. Git Checkout Branch für Merge
  2. Merge & Squash-Zweig in Git
  3. Änderungen an den Zweig in Git übertragen
Zusammenführen und Squash in Git

Meistens stoßen wir bei der Arbeit an einem bestimmten Arbeitszweig auf eine Situation und müssen uns vom Arbeitszweig zum Hauptzweig festlegen. Aber wir haben bereits viele Commits für verschiedene Probleme im Arbeitszweig.

In diesem Artikel wird erläutert, wie Sie mit den Git-Befehlen viele funktionierende Commits zu einem einzigen Commit zusammenführen und quetschen. Mit Hilfe von Squash- und Merge-Befehlen in git können wir alle Commits unserer gewünschten Anfrage zu einem einzigen Commit zusammenführen und einen sauberen Verlauf beibehalten. Das Squashing der Commits hilft uns, den Commit-Verlauf unseres gewünschten Branchs zu bereinigen, wenn er unsere Merge-Anfrage akzeptiert. Es fügt alle Änderungen, die wir in der Merge-Anfrage erwähnt haben, als einen einzigen Commit ein und führt diesen Commit anschließend mit Hilfe der für das Projekt angegebenen Merge-Methode zusammen.

Angenommen, wir haben zwei Zweige:

  • Arbeitszweig
  • Hauptniederlassung

Git Checkout Branch für Merge

Um alle Commits unseres Arbeitszweigs zu quetschen und in den Hauptzweig einzufügen, können wir die folgenden Schritte ausführen:

Wir müssen mit dem folgenden git checkout-Befehl vom Working-Branch in den main-Zweig wechseln:

git checkout main

Merge & Squash-Zweig in Git

Durch die Ausführung von Squash werden alle unsere Commits aus dem Working-Branch genommen und ein einziger squash für alle Commits des Working-Branchs in den Haupt-Branch gemacht. Wenn Probleme auftreten, können wir diese manuell mit dem folgenden Befehl lösen:

git merge --squash feature

Hinweis: Der obige Befehl führt keinen Merge-Commit durch. Wir müssen dies manuell mit dem folgenden Befehl tun.

Änderungen an den Zweig in Git übertragen

Übertragen Sie nun zusammengeführte Änderungen mit einer kombinierten Nachricht.

git commit -m <"add comment here">

Wenn Sie die Commit-Nachricht nicht hinzufügen möchten, können Sie den Abschnitt -m und den Kommentar überspringen, der die Nachricht mit dem Commit an den Branch nicht enthält.

Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn

Verwandter Artikel - Git Merge