Я работаю в SourceTree и пытаюсь сдвинуть коммит ветки в другую ветку. Мне сказали, что я могу раздавить, перейдя в интерактивную перебазировку. Я пытаюсь это сделать. Я получаю это сообщение:

отправить сообщение

Если я просто принимаю сообщение о коммите, оно ничего не делает (я ожидаю, что появится диалоговое окно rebase). Я предполагаю, что он пытается перебазировать с 93a74a2e на 93a74a2e на 93a74a2e (т.е. перебазировать один коммит в себя). Поскольку существует только один коммит, он показывает, что делать нечего, поэтому он просто заканчивается.

Ветка, которую я хочу раздавить, синяя ниже:

граф ветвей

Из-за этого слияния с красной веткой прямо под головой я не могу ничего перебазировать (и, следовательно, раздавить) до 93a74a2e?

Что если я захочу раздавить все в синей ветви между прошлым коммитом (не показано на снимке экрана ветви) и головой, а затем объединить этот сдавленный коммит (ТОЛЬКО сдавленный коммит) с другой веткой (также не показана)?

Я делал это раньше в командной строке следующим образом:

git checkout destinationBranch
git merge --squash sourceBranch && git commit -m ‘squash merging from sourceBranch’

Но он останавливается перед тем, как принять его, и просит меня сделать это отдельным шагом. Это привело (я думаю) к тому, что в графе ветвей SourceTree не произошло слияния (я думаю, что он просто рассматривал коммит как изменения в ветке, а не слияние). Так что на этот раз я пытаюсь через SourceTree.

0