Ich versuche, einem Mitarbeiter zu helfen, der versehentlich einen Feature-Zweig aus einem anderen Feature-Zweig erstellt hat, anstatt den zweiten Master zu erstellen. Hier ist im Wesentlichen, was wir jetzt haben ...Split ein Git Zweig in zwei Zweige?
Master ---A---B---C
\
Foo E---F---F---H
\
Bar J---K---L---M
Und hier ist das, was wir würden gerne haben ...
Master ---A---B---C
|\
Foo | E---F---F---H
|
Bar J---K---L---M
Ein Weg, dachte ich wäre FooV2 und BarV2 Zweige zu schaffen, und Kirsch- Wählen Sie die einzelnen Commits in die entsprechenden V2-Zweige. Aber ich bin neugierig, gibt es einen besseren Weg, um mit dieser Situation umzugehen?
git rebase --onto C H M
Wenn einige Patches Konflikt, können Sie sie manuell zu lösen haben (aber man muss auch tun, wenn Rosinenpickerei):
Vielen Dank; Die bearbeitete Version hat super funktioniert! Für den Fall, dass jemand mehr Details dazu benötigt, gibt es einen Abschnitt "Weitere interessante Abzüge" im Pro Git Buch, der fast genau dieses Beispiel abdeckt: http://git-scm.com/book/en/Git-Branching- Rebasing –
'git rebase --auf master foo bar' bedeutet: Nimm" bar "ohne" foo "und lege es auf den Master – schoetbi