2017-10-23 4 views
0

Ich brauche rückwirkend rebasemerged commits von master auf einen Feature-Zweig.Wie Sie bereits verschmolzene Commits rebase

Der Feature-Zweig wurde von master abgezweigt (Feature-Zweig ist die blaue Linie im Bild), dann gab es mehrere Commits auf dem Feature-Zweig (blaue Punkte), dann Master wurde Merge-Committed zurück zum Feature-Zweig (statt rebased - Master ist die rote Linie im Bild).

Also muss ich "2 zurückgehen" 2 merge commits und rebase sie stattdessen, während der Feature-Zweig intakt bleibt.

enter image description here

Antwort

2

Sie können Ihren Zweig auch auf den Commit zurücksetzen, bevor Sie ihn mit dem Master-Zweig teilen und dann alle Ihre Änderungen in einen gequetschten Commit festschreiben. Danach Rebase auf Master.

so, auf Ihre Branche:

git reset --soft <commit SHA> 
git add <All changes> 
git commit -m "<commit message>" 
git rebase master 
+0

ehrfürchtig. Du bist eine erstaunliche Person und hast einen Platz im Himmel –

0

können Sie verwenden git rebase -i und "Pick" auf den zweiten und nachfolgenden Commits mit "Squash" oder "fixup" ersetzen.

Ausführliche Beschreibung hier:

https://git-scm.com/docs/git-rebase#_interactive_mode

Nachdem Sie getan haben, dass Sie auf die Remote-Repo schieben müssen (ich mit einer Kraft denken).

Verwandte Themen