How to do a rebase with git gui?

那年仲夏 提交于 2019-12-02 17:51:43

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
Leif Gruenwoldt

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.

git gui can be used to add files to the index when doing a rebase --interactive (as mention in thegit rebase man page, The GitHub rebase help page or in this git rebase interactive tip article), but not to perform the rebase itself.
(unless, as you saw, you define the command yourself in the Tools section)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!