it-swarm.com.de

Wie können Sie die Änderungen des aktuellen Zweigs auf die Änderungen zurückführen, die in zusammengeführt werden?

Okay. Wenn ich mich in einem Zweig befinde (z. B. working) und die Änderungen aus einem anderen Zweig übernehmen möchte (z. B. master), führe ich währenddessen den Befehl git-merge master Aus auf dem Zweig working, und die Änderungen werden zusammengeführt, ohne den Verlauf überhaupt neu zu gründen. Wenn ich git-rebase master Ausführe, werden die Änderungen in master umbasiert, damit sie oben in meinem Zweig working erscheinen. Aber was ist, wenn ich die Änderungen von master zusammenführen möchte, aber meine Änderungen in working erneut als oberste Ebene festlegen möchte? Wie mache ich das? Kann es gemacht werden?

Ich könnte git-rebase working Für meinen Zweig master ausführen, um meine Änderungen in den Zweig master einzufügen, aber ich möchte dies in meinem Zweig working branch, und ich habe keine ahnung wie. Das Nächste, was ich mir vorstellen kann, ist, einen neuen Zweig aus master zu erstellen und dann die Änderungen von working darauf aufzubauen, aber dann hätte ich einen neuen Zweig, anstatt den working branch.

129

Sie haben das, was rebase rückwärts tut. git rebase master tut, wonach Sie gefragt haben - übernimmt die Änderungen des aktuellen Zweigs (seit der Abweichung vom Master) und spielt sie über master ab. Anschließend wird der Kopf des aktuellen Zweigs zum Kopf des Zweigs diese neue Geschichte. Es nicht spielt die Änderungen von master über dem aktuellen Zweig ab.

231
hobbs

Eine andere Sichtweise ist, git rebase master wie:

Starten Sie den aktuellen Zweig über master neu

Hier ist 'master' der vorgelagerte Zweig, und dies erklärt, warum während eines Rebases ours ] _ und theirs sind vertauscht .

60
VonC