被遗忘的交互式变基 - Git

17

我之前运行了一些git rebase -i命令,但现在我已经完全忘记了。现在我想要改变新的提交顺序,所以我运行了git rebase -i HEAD~4,然后正常得到了结果。

It seems that there is already a rebase-merge directory, and
I wonder if you are in the middle of another rebase.  

但是我甚至不记得这个rebase到底是关于什么的。我该怎样找到那个rebase的具体目的。


为了帮助解决遗忘问题,您可以在命令提示符中包含git状态,这将告诉您是否处于交互式变基的中间阶段等其他信息。以下是一个基础链接:http://blog.jasonmeridth.com/2010/05/22/git-ps1.html - ssmith
4个回答

10

看起来你意外退出了 rebase,因此在终端上出现了这个错误。

为了解决问题,你需要退出当前的 rebase 并创建一个新的。

git rebase --quit

5

您可能希望阅读 .git/rebase-merge/git-rebase-todo,其中包含下一个将要运行的 rebase --interactive 命令,但是,放弃变基更容易: git rebase --abort


4
您可以转到your_app/.git/rebase-merge并查找相关信息。

我在哪里找到我编辑的提交文件? - Bernhard Döbler

3

如果这是一个旧的被遗忘的变基操作,而你已经继续进行其他操作,那么你可能不再关心它了(除了学习目的),你可以使用以下命令中止旧的变基操作:

git rebase --abort

这是我做的,但我在那个分支上做的所有提交都丢失了,请帮忙! - user1611830
2
你不会失去提交,除非它们被垃圾回收(gc'ed),默认情况下只会在30天后发生。只需使用 git reflog 查找您“丢失”的提交,然后检查它们即可。 - Christoph

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