Deaktivieren von Fast Forward Merging in Git
Deaktivieren von Fast Forward Merging während eines Merges
Um Fast-Forward-Merging in Git zu deaktivieren, können Sie die Option --no-ff
(oder -n
) verwenden, wenn Sie einen Zweig (Branch) mergen. Dies erstellt einen neuen Merge-Commit, auch wenn die Historie linear ist.
git merge --no-ff <branch-to-merge>
Die Option --no-ff
stellt sicher, dass ein neuer Merge-Commit erstellt wird, unabhängig von der Commit-Historie.
graph LR
A[Main Branch] --> B[Feature Branch]
B --> C[Merge with --no-ff]
A --> C
Im obigen Diagramm wird der Merge mit der Option --no-ff
durchgeführt, was zur Erstellung eines neuen Merge-Commits (C) führt.
Deaktivieren von Fast Forward Merging als Standard
Sie können auch Git so konfigurieren, dass Fast-Forward-Merging immer deaktiviert ist, indem Sie die Option merge.ff
in Ihrer Git-Konfiguration auf false
setzen.
git config --global merge.ff false
Dies stellt sicher, dass für alle zukünftigen Merges ein neuer Merge-Commit erstellt wird, unabhängig von der Commit-Historie.
Überprüfen der Merge-Strategie
Sie können die aktuelle Merge-Strategie überprüfen, indem Sie den folgenden Befehl ausführen:
git config --get merge.ff
Dies zeigt den aktuellen Wert der Option merge.ff
an, der entweder true
(Fast-Forward-Merging aktiviert) oder false
(Fast-Forward-Merging deaktiviert) sein kann.
Durch die Deaktivierung von Fast-Forward-Merging können Sie eine klare und konsistente Commit-Historie aufrechterhalten, was für verschiedene Git-Arbeitsabläufe und Kollaborationsszenarien nützlich sein kann.