Die Anwendung der Merge-Strategie ohne schnelles Weiterführen
Nachdem Sie nun die Grundlagen des Mergens ohne schnelles Weiterführen verstehen, wollen wir uns ansehen, wie Sie diese Strategie in Ihrem Git-Workflow anwenden können.
Das Merging ohne schnelles Weiterführen als Standardverhalten festlegen
Um das Merging ohne schnelles Weiterführen als Standardverhalten für Ihr Git-Repository festzulegen, können Sie die Konfigurationsoption merge.ff
auf false
setzen:
git config merge.ff false
Dadurch wird sichergestellt, dass alle zukünftigen Merges im Repository die Strategie ohne schnelles Weiterführen verwenden und ein neuer Merge-Commit erstellt wird, auch wenn der Zielbranch nicht vom Quellbranch abgewichen ist.
Ein Merging ohne schnelles Weiterführen durchführen
Um ein Merging ohne schnelles Weiterführen manuell durchzuführen, können Sie die Option --no-ff
(oder -n
) mit dem Befehl git merge
verwenden:
git checkout main
git merge --no-ff feature-branch
Dadurch wird ein neuer Merge-Commit erstellt, der die Änderungen aus dem feature-branch
in den main
-Branch integriert und die lineare Commit-Historie bewahrt.
Das Merging ohne schnelles Weiterführen visualisieren
Die Auswirkungen des Mergens ohne schnelles Weiterführen auf die Commit-Historie können in einem Git-Commit-Graphen deutlich gesehen werden. Hier ist ein Beispiel:
gitGraph
commit
branch feature-branch
commit
commit
checkout main
commit
merge feature-branch --no-ff
commit
commit
In diesem Beispiel erstellt das Merging ohne schnelles Weiterführen einen neuen Merge-Commit, der sich von den normalen Commits auf dem main
-Branch unterscheidet. Dies hilft, eine klare und lineare Commit-Historie aufrechtzuerhalten und macht es einfacher, die Entwicklungsgeschichte des Projekts zu verstehen.
Durch die Anwendung der Merge-Strategie ohne schnelles Weiterführen können Sie die Wartbarkeit und Klarheit Ihres Git-Repositorys verbessern, insbesondere in kollaborativen Entwicklungsumgebungen. Dieser Ansatz kann besonders nützlich sein, wenn Sie mit Feature-Branches arbeiten, langlebige Branches zusammenführen oder wenn Sie sicherstellen möchten, dass Ihr Projekt eine klare und lineare Commit-Historie hat.