Но выбор этой опции, похоже, не имеет никакого эффекта.
Да, потому что текущие изменения - это одна из текущих веток, а именно 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;
Другими словами, он перемещается $somebranch
в текущую ветку (или в нее ), а не наоборот. (Правильно?)
Предлог « onto
» в текущем тексте вводит в заблуждение; это означает, что объект предложения ( $somebranch
в моем примере) получит изменения.
На самом деле произойдет обратное.
Отсутствие названия текущей ветки добавляет путаницы.
Изменение формулировки, улучшающее структуру предложения и включающее имя затронутой ветки, принесло бы огромную пользу для ясности.
Например:
rebase $currentbranch to head of $somebranch
rebase $somebranch onto $currentbranch