How to do a rebase with git gui? How to do a rebase with git gui? git git

How to do a rebase with git gui?


Add this to the .gitconfig file in your home directory to add rebase commands to the Tools menu:

[guitool "Rebase onto..."]    cmd = git rebase $REVISION    revprompt = yes[guitool "Rebase/Continue"]    cmd = git rebase --continue[guitool "Rebase/Skip"]    cmd = git rebase --skip[guitool "Rebase/Abort"]    cmd = git rebase --abort[guitool "Pull with Rebase"]    cmd = git pull --rebase


In git-gui:

  1. Go to Tools -> Add and then enter a custom command i.e. git rebase master.
  2. Select Add globally to have this option appear for all repositories. (It will write the configuration to your ~/.gitconfig for you, as @Ted-Percival mentioned in his answer).


You can do a full interactive rebase with git gui, complete with commit selection, rewording and conflict resolution! In addition to Ted Percival's answer, Add this to your ~/.gitconfig:

[guitool "Rebase interactive"]    cmd = EDITOR=gvim git rebase -i $REVISION    revprompt = yes

You must use a graphical editor -- plain old vim won't work, but gvim will. You may use any gui editor, I use nedit for example. A separate window of this editor will pop-up any time you need to input something: initially selecting commits, rewording commit messages (whether for reword or squash commits), etc.