Nach der Arbeit für mehrere Wochen mit einem halben Dutzend verschiedener Branchen und verschmilzt zu reinigen, sowohl auf meinem Laptop und Arbeit und meinem Desktop zu Hause, meine Geschichte ein bisschen verworren geworden. Zum Beispiel habe ich gerade einen Fetch gemacht, dann Master mit Ursprung/Master zusammengeführt. Nun, wenn ich git show-Filialen tun, sieht die Ausgabe wie folgt aus:wie git rebase verwenden, um eine wechselhafte Geschichte
! [login] Changed domain name. ! [master] Merge remote branch 'origin/master' ! [migrate-1.9] Migrating to 1.9.1 on Heroku ! [rebase-master] Merge remote branch 'origin/master' ---- - - [master] Merge remote branch 'origin/master' + + [master^2] A bit of re-arranging and cleanup. - - [master^2^] Merge branch 'rpx-login' + + [master^2^^2] Commented out some debug logging. + + [master^2^^2^] Monkey-patched Rack::Request#ip + + [master^2^^2~2] dump each request to log ....
Ich möchte dies mit einem git rebase aufzuräumen. Ich habe zu diesem Zweck einen neuen Zweig, rebase-master, erstellt und in diesem Zweig versucht git rebase < common-ancestor >. Allerdings muss ich viele Konflikte lösen, und das Endergebnis auf dem Zweig rebase-master stimmt nicht mehr mit der entsprechenden Version auf master überein, die bereits getestet wurde und funktioniert!
Ich dachte, ich eine Lösung für dieses irgendwo gesehen, aber kann es nicht mehr finden. Weiß jemand, wie man das macht? Oder werden diese verschachtelten Ref-Namen verschwinden, wenn ich anfange, nicht benötigte Zweige zu löschen, mit denen ich bereits verschmolzen bin?
Ich bin der einzige Entwickler an diesem Projekt, so gibt es sonst niemand, der betroffen sein werden.
;-) Philosophische Anmerkung: Geschichte wird verschachtelt. Das ist Tatsache des Lebens. Komm darüber hinweg. –