Move a git branch

Latest on Hackage:

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow to host generated Haddocks.

BSD3 licensed by Eyal Lotem
Maintained by


Moving to a new position

When you decide that the current branch needs to use a different hash and content, currently you need to reset --hard to the new position.

However, reset --hard has the annoying side-effect of deleting any outstanding work.

It would be nice to be able to jump the tip of the current branch to a new position and update the working tree, as long as there's no overlap between files changed in the working tree and in the diff to the remote location.

Just type:

git-jump <refspec>

To jump to the new location.

Updating a local tracking branch with no local commits

When you have a local branch that is tracking a remote branch (and has no local commits) that was rebased, you would have to reset --hard to the remote location. This requires typing out the name of the upstream branch (or "@{u}" at least), and as usual, loses any uncommitted changes.

Just type:


With no parameters, and it will jump to the upstream location, taking any uncommitted changes on top.

Depends on:
comments powered byDisqus