Dies wird Squash Merge genannt. Es ist jedoch nicht wirklich eine Zusammenführung, obwohl: ein Merge-genauer gesagt, ein merge commit, mit "Merge" als ein Adjektiv verwendet, oder als ein Substantiv, wenn wir es zu "Merge" abkürzen -ist ein Commit mit zwei (oder sogar mehr, aber zwei ist alles, was es braucht) Elternteil verpflichtet, dass daher zwei früheren divergenten Geschichten verbindet. Ein "Squash Merge", in Git, macht ein gewöhnliches Eineltern-Commit, das alle Verschmelzungen Aktion - "Verschmelzung als Verb" - verwendet, die eine normale Zusammenführung tun würde, aber das Ergebnis nicht als Zusammenführung aufzeichnen kann .
Mit anderen Worten, fusionieren-as-a-Verb, aber ein nicht-merge-as-a-Substantiv gewöhnlichen als Ergebnis begehen erhalten, verwenden Sie Git "Squash merge":
git merge --squash <otherbranch>
Dies erledigt die ganze Arbeit einer Zusammenführung, macht dann aber eine gewöhnliche Festschreibung.
Außer, aus irgendeinem Grunde, --squash
schaltet auch auf --no-commit
automatisch, so dass nach der Squash-Aktion beendet ist, Sie git commit
selbst betreiben müssen.
(Sie --no-commit
ohne --squash
verwenden können, das gleiche zu bekommen "Pause nach dem Zusammenführen-as-a-Verb" -Effekt. Die begehen Sie in diesem Fall machen, ist eine echte merge begehen.)
Beachten Sie, dass einmal Du machst ein squashartiges gewöhnliches Commit, es ist selten gut, mehr an dem Ast zu arbeiten, den du zerquetscht hast. Normalerweise ist es am weisesten, diesen Zweig aufzugeben (und eventuell zu löschen).
Sie suchen eine Rebase + Squash. –