Czy istnieje sposób na aktualizację oddziału bocznego z informacjami od innego (wzorca lub innego), a następnie kontynuowanie? Podobnie jak w przypadku rebase, ale zachowując stare dane?Git połączyć i zachować oddzielne?
oryginalny:
A---B---C---G---H master
\
D---E---F branchA
Wynik:
A---B---C---G---H---L master
\ \
D---E---F---J---K branchA
Takie że branchA
dostaje informacje z dopuszcza C, G, i H, (Commit J jest scalenie), takie, które dokonują K jest jeszcze gałąź boczna (i przyszłe zatwierdzenie L nadal znajduje się w stanie nadrzędnym), ale czy zaktualizowane informacje pochodzą od wzorca?
nie chcę zrobić rebase, bo to by skończyć z:
A---B---C---G---H---L master
\
D'---E'---F'---K branchA
„Tworzenie nowych wersji” D, E i F, jakby wydarzyło się na górze zamiast H B i Problem polega na tym, że commits C i E to zmiana nazwy folderu kluczy w repozytorium i chcę je zwinąć razem:, bez łączenia innych aktualizacji funkcji z branchA
. Rebasing oznacza, że H używa nowej nazwy folderu, D 'tworzy starą nazwę folderu, a E' usuwa ją ponownie, co nie jest najczystsze.
Chodzi o to, że chcę, aby ta nazwa zmieniła się w przeszłości (C i E) i przestać ją przenosić. Czy to ma sens? Czy patrzę na to wstecz? Czy powinienem po prostu poradzić sobie z nieuporządkowanym rebase "name, rename", dopóki gałąź nie zostanie scalona?
git merge jest najprostszą odpowiedzią; Miałem wrażenie, że łączy te dwie gałęzie razem i nie mogę kontynuować tych dwóch osobno ... Ale to się nie dzieje teraz! – MidnightLightning
Ja także uważałem, że 'git merge' połączył dwie gałęzie, zamiast po prostu scalać zmiany * w * pojedynczą gałąź. Ale potem odkryłem, że nieświadomie utworzyłem gałąź tematyczną - * B * - podczas gdy miałem inną gałąź tematu - * A * - sprawdziłem, a następnie połączyłem * B * w * master *, nie zdając sobie sprawy, że byłem również scalanie wszystkich zatwierdzeń w * A *! –