2017-06-07 73 views
0

我在本地存储库中进行了更改。推之前,我从远程获取,并重新启动显示一些冲突,我修好了。撤消Git rebase --abort

然后我试图推动我的更改,然后提交它显示still need merge所以我没有提交我的更改rebase --abort。 之后,我的本地更改消失了。 我试过git reflog我没有找到我的,因为我没有commit

我需要我的本地更改如何恢复它? rebase --abort如何删除我的更改?

我做了rebase --continue一旦我修复冲突。因为它说需要更新。那么只有我给出rebase --abort

+0

你是否在每次合并冲突后执行'git rebase --continue'?如果是这样,那么你的工作目录应该是空的,'git rebase --abort'应该没有任何作用。我的猜测是你没有正确完成rebase。您的本地更改可能会丢失。 –

+0

是的,我仍然显示需要合并....多数民众赞成为什么给rebase - 比特 –

+1

当你中止rebase,你回到你之前发生rebase的状态。没有解决方法。只要再做一次rebase,这次不会犯同样的错误。 –

回答

1

从你的问题以及你上面的评论看来,你开始了一个rebase,在这个过程中取得了一些进展,但没有完成。相反,您输入git rebase --abort。这有效地将整个rebase恢复到您开始rebase之前的位置。除去已经解决合并冲突的任何工作,中止重新分配没有任何坏处。

无论如何,您应该可以再次启动rebase origin/<branch>。这一次,只需通过将每个冲突文件添加到舞台上并使用git rebase --continue来解决冲突,因为每次提交都已应用。当所有提交都被重播时,你的重新分支应该准备好,并且有一个空的工作目录。