如何在git rebase后恢复更改?

vuktfyat  于 2022-12-10  发布在  Git
关注(0)|答案(2)|浏览(685)

我的问题是,我对git rebase -i的处理过于轻率,在后续提交中添加了pick和f之后,Git吃掉了我的大部分代码,我花了一周的时间处理了十几个文件。
有没有办法恢复这些更改?我知道我用强制上传到bitbucket并不聪明,但是我想用developer来做一个合并。

mzmfm0qo

mzmfm0qo1#

本地工作目录中的git reflog将为您提供存储库过去状态的完整列表。
在该列表中找到之前的git hash,然后执行git reset HASH恢复工作目录

35g0bw71

35g0bw712#

在本地GIT repo中,你可以使用git所称的reflog,它会记录你对git repo所做的每一次修改。
例如,在你的例子中,在一个rebase之后,一个新的条目出现在reflog中。要恢复错误的修改,你可以 checkout 到reflog中的特定点,检索你的工作或者从那里重新开始。
相关的命令是git reflog,然后用常用的git命令来执行git checkout -b MY_TEMP_BRANCH XXX,其中XXX表示你要访问的reflog条目的SHA ′。

相关问题