Ale wybranie tej opcji wydaje się nie mieć żadnego efektu.
Tak, ponieważ obecne zmiany są jedną z obecnych gałęzi, czyli dev.
Rebasing devna szczycie devoznacza brak działania.
git checkout dev
git rebase master
Oznacza to, że: bieżąca gałąź dev: ma zostać ponownie oparta master.
Więc w SourceTree, musisz kliknąć prawym przyciskiem myszy master(gdy devjest wyrejestrowany) i wybrać:
Rebase current changes onto master
Howe dodaje w komentarzach :
Obecna rebase current changes onto [branch]nazwa „ ” jest myląca. Sprawdź tę dyskusję dotyczącą ulepszeńSRCTREE-1578 .
Po tym, jak byłem zaskoczony próbą zaktualizowania gałęzi funkcji do rozwoju i niepowodzeniem, zdałem sobie sprawę, że pozycja menu kontekstowego w lewym okienku oznaczona „ rebase current changes onto $somebranch” w rzeczywistości działa odwrotnie niż sugeruje jej nazwa:
ponownie bazuje na bieżącej gałęzi do stanu $ somebranch;
Innymi słowy, opiera się $somebranchna bieżącej gałęzi (lub do niej), a nie na odwrót. (Dobrze?)
Przyimek „ onto” w aktualnym tekście jest mylący; oznacza to, że przedmiot zdania ( $somebranchw moim przykładzie) otrzyma zmiany.
W rzeczywistości będzie odwrotnie.
Brak nazwy bieżącej gałęzi dodatkowo pogarsza zamieszanie.
Przeformułowanie poprawiające strukturę zdania i zawierające nazwę gałęzi, której dotyczy problem, przyniosłoby ogromne korzyści dla przejrzystości.
Na przykład:
rebase $currentbranch to head of $somebranch
rebase $somebranch onto $currentbranch