我知道如何在命令行中进行git rebase,但是如何在官方git-gui中进行呢?
将以下内容添加到您的主目录下的.gitconfig
文件中,以将变基命令添加到“工具”菜单中:
[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
在 git-gui
中:
Tools -> Add
,然后输入自定义命令,例如 git rebase master
。~/.gitconfig
,正如 @Ted-Percival 在他的回答中所提到的)。master
没有更新,那么git rebase master
将不起作用!为了解决这个问题,首先在命令行中运行git checkout master; git pull; git checkout MY_BRANCH
,或者将git-gui
命令更改为git rebase origin\master
。 - AlainDgit gui
进行完整的交互式变基,包括提交选择、重命名和冲突解决!除了Ted Percival的回答之外,将以下内容添加到您的~/.gitconfig
中:[guitool "Rebase interactive"]
cmd = EDITOR=gvim git rebase -i $REVISION
revprompt = yes
您必须使用图形编辑器——普通的 vim
不起作用,但是 gvim
可以。您可以使用任何 GUI 编辑器,例如我使用 nedit
。每当您需要输入内容时,此编辑器的单独窗口将弹出:最初选择提交、重新编写提交消息(无论是为了重新编写还是压缩提交)等。
git gui
可以在进行rebase --interactive
时用来将文件添加到索引中(如git rebase
手册,GitHub rebase帮助页面或git rebase交互式提示文章中所述),但不能执行rebase
本身。(除非您像您看到的那样在工具部分自定义命令)