如何用git gui做一个变基?

Lei*_*ldt 47 git git-rebase git-gui

我知道如何从命令行执行git rebase,但是你如何使用官方的git-gui呢?

Ted*_*val 45

将其添加到.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
Run Code Online (Sandbox Code Playgroud)

  • 在 cmd 行(第 2 行),需要添加 $REVISION,即 cmd = git rebase $REVISION。否则,谢谢!我不知道这种能力存在。 (2认同)

Lei*_*ldt 14

git-gui:

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

  • 值得指出的是,您的本地 Git 数据库必须与您希望变基到的分支的更改保持同步。如果本地 `master` 自从你分支后没有更新,`git rebase master` 什么也不做!要解决此问题,请首先运行 `git checkout master; git 拉;从命令行 git checkout MY_BRANCH`,或将 `git-gui` 命令更改为 `git rebase origin\master`。 (2认同)

Irf*_*rfy 5

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

[guitool "Rebase interactive"]
    cmd = EDITOR=gvim git rebase -i $REVISION
    revprompt = yes
Run Code Online (Sandbox Code Playgroud)

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