Але вибір цього варіанту, здається, не має жодного ефекту.
Так, оскільки поточні зміни - це одна з поточних гілок, яка є 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