399 Stimmen

Was macht genau "rebase --preserve-merges" von git (und warum)?

Die Dokumentation für den rebaste Befehl von Git ist ziemlich knapp:

--preserve-merges
    Anstatt Merges zu ignorieren, versuchen Sie, sie zu rekonstruieren.

Dies verwendet intern die --interactive-Mechanik, aber es ist im Allgemeinen keine gute Idee, sie explizit mit der --interactive-Option zu kombinieren, es sei denn, Sie wissen, was Sie tun (siehe BUGS unten).

Was passiert also tatsächlich, wenn Sie --preserve-merges verwenden? Wie unterscheidet es sich vom Standardverhalten (ohne diesen Flag)? Was bedeutet es, einen Merge "neu zu erstellen", usw.

5voto

natwl Punkte 51

Für diejenigen, die hier gelandet sind, nur weil sie gezogen haben und diese Nachricht bekommen haben:

git pull
(...)
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.

Schauen Sie sich Ihre ~/.gitconfig und /etc/gitconfig an und suchen Sie nach dieser Option:

[pull]
  rebase = preserve

Gehen Sie dann zu diesem Dokument, um zu verstehen und entsprechend Ihren Bedürfnissen zu beheben : https://www.git-scm.com/docs/git-config#Documentation/git-config.txt-pullrebase

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X