Але вибір цього варіанту, здається, не має жодного ефекту.
Так, оскільки поточні зміни - це одна з поточних гілок, яка є dev.
Перебазування devна вершині devозначає відсутність дії.
git checkout dev
git rebase master
Це означає: поточна гілка dev: перебазувати поверх master.
Отже, у SourceTree потрібно клацнути правою кнопкою миші master(поки devвиїзд) і вибрати:
Rebase current changes onto master
Хоу додає в коментарях :
Поточне присвоєння імені " rebase current changes onto [branch]" вводить в оману. Перегляньте цю дискусію щодо вдосконаленняSRCTREE-1578 .
Після того, як я збентежився, намагаючись привести гілку функції в актуальну стадію з розвитком і не вдавшись, я зрозумів, що пункт контекстного меню лівої панелі, позначений як " rebase current changes onto $somebranch", насправді робить протилежне тому, що випливає з його назви:
він базує поточну гілку до штату $ деякоїгалузі;
Іншими словами, він базується $somebranchна (або в) поточній гілці, а не навпаки. (Так?)
Прийменник “ onto” у поточному тексті вводить в оману; це означає, що об’єкт речення ( $somebranchу моєму прикладі) отримає зміни.
Насправді відбуватиметься навпаки.
Відсутність назви поточної гілки додає плутанини.
Переформулювання, що покращує структуру речення та включає назву ураженої гілки, дало б величезний виграш для ясності.
Наприклад:
rebase $currentbranch to head of $somebranch
rebase $somebranch onto $currentbranch