如何用git gui做一个变基?

时间:2011-01-28 16:05:00

标签: git git-rebase git-gui

我知道如何从命令行执行git rebase,但是如何使用官方git-gui执行此操作?

4 个答案:

答案 0 :(得分:42)

将其添加到主目录中的.gitconfig文件,以将rebase命令添加到“工具”菜单中:

[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

答案 1 :(得分:14)

git-gui

  1. 转到Tools -> Add,然后输入自定义命令,即git rebase master
  2. 选择全局添加,以便为所有存储库显示此选项。 (它将为您编写~/.gitconfig配置,如his answer中提及的@ Ted-Percival。)

答案 2 :(得分:5)

您可以使用git gui执行完整的交互式rebase,包括提交选择,重写和解决冲突!除了Ted Percival的回答,请将此添加到您的~/.gitconfig

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

必须使用图形编辑器 - 普通的vim不起作用,但gvim会。您可以使用任何gui编辑器,例如我使用nedit。每当您需要输入内容时,都会弹出一个单独的编辑器窗口:最初选择提交,重写提交消息(无论是reword还是squash提交)等等。

答案 3 :(得分:3)

git gui可用于在执行rebase --interactive时向索引添加文件(如git rebase man pageGitHub rebase help page或此git rebase interactive tip article中所述),但不要执行rebase本身 (除非,如您所见,您自己在工具部分中定义命令)