I 2 Zweige haben, sagen Sie „branch_1“ und „branch_2“ wie folgt:Wie eine geänderte Fassung holen begehen aus einem anderen Zweig
A <--master
\
B <--branch_1
\
C <--branch_2
Jetzt mache ich eine Änderung in branch_1 und ändern die HEAD begehen. So, jetzt sieht das Setup wie:
A <--master
|\
| B_amended <--branch_1
|
B---C <--branch_2
Ein git log auf branch_1 zeigt begehen B_amended auf dem Kopf von A. begehen Ein git log auf branch_2 zeigt commit B und C auf dem Kopf von A. Commit Commit B on branch_2 enthält keine geänderten Änderungen von commit B_amended auf branch_1.
Meine Frage ist: Wie bringe ich B_amended in branch_2, damit es so aussieht?
A <--master
\
B_amended <--branch_1
\
C <--branch_2
Im Moment bin ich tun:
$ git checkout branch_2
$ git reset --soft HEAD~
$ git stash
$ git rebase branch_1
$ git stash apply
$ git commit
Gibt es eine bessere Methode?
Wenn Sie "B" geändert haben, hat es es für keinen Zweig geändert, der es in seiner Geschichte hat? Mit anderen Worten, ist Ihre Frage wirklich notwendig? –
Ich verstehe deine Diagramme nicht. Warum gibt es mehrere 'A's und' B's? Nachdem "B" geändert wurde (wodurch ein neues "B_amended" erzeugt wird), wird "C" nicht automatisch "B_amended" als Elternelement erhalten. Könnten Sie das klären? – Svante
Ja, ich sah das und nahm an, dass es ein Fehler war und B von A und C von B abhing. – DavidN