In 1.x magit I often would rebase my local branch to master, the equivalent of:

git checkout master
git pull --rebase
git checkout dev-feature-1
git rebase --interactive master

In 1.x magit this was super fast and simple:

b b master
b b dev-feature-1

In 2.x magit it seems like this "rebase to another branch" functionality is gone, or very difficult to find? I read through the magit doc section on rebasing and it seems to assume the only place to rebase to is your currently set upstream. I don't want my upstream to change, it should remain origin/dev-feature-1, I just need to rebase -i against master to get my branch up-to-date.

Has this functionality been removed from magit, or is it called something else now? Maybe there are just more steps that make this formerly simple/frequent operation more complex and slow? Or maybe I'm just missing how to do it in my quick read of the docs?

1 Answer 1


Press r r. Now you are asked what branch you want to rebase to. Instead of just pressing RET without reading the prompt (which would cause the default to be used, i.e. the upstream branch) instead select/type the branch you actually want to rebase to and then press RET.

Edit: Starting with v2.4 the r r binding has been replaced with three new bindings. r p rebases onto the configured push-remote, r u onto the configured upstream, and r e onto any other branch.

  • Thanks, this was exactly what I wanted. For my interactive use case, it looked like this: r -i r master Oct 30, 2015 at 14:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.