Git rebase -i没有效果

5

我在使用git rebase -i时遇到了一些问题,与我从各种在线文档和教程中阅读的不符。

我想将我的最后四个提交压缩成一个。假设有一个名为dev的分支,远程名称为origin/dev,并且存在以下提交记录:

A -> B -> C -> D -> E
│                   └ dev
└ origin/dev

我希望最终能够到达这里:

     ┌ dev
A -> F
│
└ origin/dev

其中 F 包含了来自 B、C、D 和 E 的所有更改。因此,假设我已经检出了 dev 分支,那么我应该能够运行 git rebase -i origin/dev 或者 git rebase -i HEAD~4 命令,然后将 C、D 和 E squash(压缩成一个提交),对吗?

这是我的问题:运行任何一个这些 rebase 命令都不会弹出 git 窗口让我进行任何操作。终端只是返回:

Successfully rebased and updated refs/heads/dev.

我有些困惑,为什么交互式变基(interactive rebase)不起作用?我的Git配置有问题吗?

更新

git config --global rebase.autoSquash 没有返回任何内容。


请问您能否在您的问题中添加 git config --global rebase.autoSquash 的输出结果? - ckruczek
好吧,我的希望被摧毁了:D 该死,那是我心中唯一的锚点。 - ckruczek
1个回答

14

好的,我找到答案了:毕竟是我的git配置文件出了问题。

昨天安装了Github的Atom后,我按照http://blog.atom.io/2014/03/13/git-integration.html的指示操作:

git config --global core.editor "atom --wait"

发生的情况是,每次我尝试rebase时,Atom会打开然后立即崩溃。 Git将此解释为我完成了rebase并选择了所有提交,但这没有任何实际效果。

很烦人的问题,但最终解决了。


1
不错!但这有点讽刺。Github的内置编辑器在使用Git时崩溃了...哈哈,真是让我开心。实际上,这意味着Atom以返回代码0崩溃了。你可以检查一下,并将其作为错误发送给Github。 - ckruczek
@Richiban - 很棒 - 我也遇到了同样的问题,但是是在使用nano时。你最终是如何解决的? - BenKoshy
@BKSpurgeon 很抱歉我无法在这里提供帮助;我并没有真正“修复”它,而是停止使用 Atom。 - Richiban

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接