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
:
- Go to
Tools -> Add
and then enter a custom command i.e.git rebase master
. - 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.