一天前我在我的仓库中启动了一个git rebase
,但一直没有完成。我忘记了,在我还在rebase的时候做了很多修改。今天我不小心做了一个git rebase --abort
,a没有 * 把这些修改提交。现在看起来我所有的修改都消失了。有什么方法可以恢复它们吗?
我的git reflog
如下所示:
57d731c HEAD@{0}: rebase: aborting
d2d3738 HEAD@{1}: rebase -i (start): checkout david
57d731c HEAD@{2}: commit: My commit message
4条答案
按热度按时间gorkyyrv1#
只有在添加了内容(即使未提交)的情况下才能恢复。但是,如果您甚至未将更改添加到临时文件中,则无法恢复这些更改,除非您使用IDE并且IDE具有更改的本地历史记录。
git会在文件进入暂存区后开始跟踪文件,而不是在文件未被跟踪时。
本地历史存在于所有主要的IDE中。
aiqt4smr2#
如果您没有在rebase过程中提交这些修改,它们将不幸地不可挽回地丢失。
u3r8eeie3#
最好在使用 git rebase 之前使用 git stash。git stash pop 可以轻松地将你带到原来的位置。
b4qexyjb4#
你可以在做了一个reflog之后 checkout 到你想要的提交。