如何使用git gui进行重基?

如何使用git gui进行重基?,git,git-rebase,git-gui,Git,Git Rebase,Git Gui,我知道如何从命令行执行git rebase,但如何使用官方软件?在git gui中: 转到工具->添加,然后输入自定义命令,即git-rebase-master。 选择“全局添加”以使此选项显示在所有存储库中。它将为您将配置写入~/.gitconfig,如中提到的@Ted Percival。 git gui可用于在执行、或中提到的rebase交互时将文件添加到索引中,但不能执行rebase本身。 如您所见,除非您自己在“工具”部分中定义了命令,否则请将其添加到主目录中的.gitconfig文件中

我知道如何从命令行执行git rebase,但如何使用官方软件?

在git gui中:

转到工具->添加,然后输入自定义命令,即git-rebase-master。 选择“全局添加”以使此选项显示在所有存储库中。它将为您将配置写入~/.gitconfig,如中提到的@Ted Percival。 git gui可用于在执行、或中提到的rebase交互时将文件添加到索引中,但不能执行rebase本身。 如您所见,除非您自己在“工具”部分中定义了命令,否则请将其添加到主目录中的.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

您可以使用GitGUI进行完整的交互式重基,包括提交选择、重新编写和冲突解决!除了Ted Percival的答案之外,请将以下内容添加到~/.gitconfig中:


您必须使用图形编辑器-普通的旧vim无法工作,但gvim可以。您可以使用任何gui编辑器,例如,我使用nedit。当您需要输入内容时,该编辑器的一个单独窗口将随时弹出:最初选择提交、重写提交消息(无论是用于重写还是压缩提交),等等。

在命令行第2行,您需要添加$REVISION,即cmd=git rebase$REVISION。否则,谢谢!我不知道这个功能的存在。交互式的再基础也是可能的,你只需要将env-var编辑器设置为gui编辑器。我认为这是一个太多的编辑,无法添加到您的答案中,因此我创建了我自己的-请随意将我的答案添加到您的答案中。出现了一些窗口,但在这些字段中输入什么?我发现Jim Raden的评论是正确的,$需要修订,而不是$版本。也许泰德·珀西瓦尔可以修改他的答案?我会这么做,但我不确定$REVISION是否普遍正确,或者是否是特定于平台的,或者是其他什么。值得指出的是,您的本地Git数据库必须是最新的,并且包含您希望重设基础的分支的更改。如果自您分支后本地主机还没有更新,git rebase主机将不执行任何操作!要解决这个问题,首先运行git checkout master;git-pull;git从命令行签出MY_分支,或者将git gui命令更改为git rebase origin\master。
[guitool "Rebase interactive"]
    cmd = EDITOR=gvim git rebase -i $REVISION
    revprompt = yes