2017-07-27 3 views

Antwort

1

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, --squashschaltet 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).

+0

Danke und Entschuldigung für die Verzögerung! –

Verwandte Themen