Po kilku tygodniach pracy z pół tuzinem różnych oddziałów i fuzji, zarówno na moim laptopie i pracy, jak i na moim biurku w domu, moja historia stała się nieco zawikłana. Na przykład po prostu wykonałem pobieranie, a następnie połączono wzorzec z początkiem/wzorcem. Teraz, kiedy mam zrobić git show-oddziałów, wyjście wygląda następująco:jak używać git rebase do czyszczenia skomplikowanej historii
! [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 ....
Chciałbym to posprzątać z rebase git. W tym celu utworzyłem nowy oddział, rebase-master, aw tej gałęzi wypróbowałem git rebase < wspólnego przodka >. Muszę jednak rozwiązać wiele konfliktów, a wynik końcowy na podstawie rebase-master gałęzi już nie pasuje do wersji na master, która już została przetestowana i działa!
Wydawało mi się, że widzę gdzieś rozwiązanie tego problemu, ale nie mogę go już znaleźć. Czy ktoś wie, jak to zrobić? Czy te zawiłe nazwy ref nie znikną, gdy zacznę usuwać niepotrzebne gałęzie, z którymi się już połączyłem?
Jestem jedynym programistą w tym projekcie, więc nikt inny nie zostanie dotknięty.
;-) Uwaga filozoficzna: historia ulega zawiłościom. To jest fakt życia. Przeżyj to. –