Git Merge mit --no-ff und --squash

Ich verwende die Git-Flow-Methode zum Verwalten von Filialen in meinem Repo, wie in den folgenden Abschnitten beschrieben:http://nvie.com/posts/a-successful-git-branching-model/

Die Reihenfolge der Befehle, die ich verwenden sollte, wäre also wie folgt:

git checkout mybranch
git pull --rebase origin develop
git checkout develop
git merge --no-ff mybranch

Es gibt jedoch eine Sache, die ich in einigen Fällen anders machen möchte:

Ich möchte alle meine Commits in meinem Feature-Zweig beibehalten (mybranch), aber lassen Sie sie beim Zusammenführen zu einem einzigen Diff zusammenfassen (oder zerquetschen)develop.

Das ist also, was ich denke, die Reihenfolge der Befehle sollte sein:

git checkout mybranch
git pull --rebase origin develop
git checkout develop
git merge --no-ff --squash mybranch

Würde ich etwas falsch machen, wenn ich kombinieren würde?--no-ff mit--squash?

Ich zögere, dies auszuprobieren, da "Quetschen" und "Bewahren der Geschichte" orthogonale Anforderungen sind - sieheAlle meine Commits (einschließlich Zusammenführungen) in einem Commit zusammenfassen, ohne den Verlauf zu ändern

Mein Grundgedanke ist, dass ich die Geschichte auf einem Zweig bewahren möchte (mybranch) und suqash auf einem anderen Ast (develop) -> Da diese Aktionen in separaten Zweigen ausgeführt werden, ist dies in Ordnung.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage