我是不是错误地使用git rebase来破坏我的工作

Ais*_*war 21 git version-control rebase git-rebase

我执行了以下行:

git rebase -i dev --onto master 
Run Code Online (Sandbox Code Playgroud)

我想这会削减我的开发分支并将其粘贴在我的主分支之上.并且-i会让我崩溃变更集.

但是当它提出编辑器时,我没有看到任何变更集.我所看到的只是"noop".所以我就退出了.然后我看看我的git历史,我所有的变化都消失了.我的开发分支就在我的主人所在的地方!

有人可以帮我恢复吗?谢谢!

Chr*_*oph 40

Git很难失去工作.

跑:

git reflog
Run Code Online (Sandbox Code Playgroud)

而不是寻找在rebase之前的提交

然后检查出来

git checkout <sha>
Run Code Online (Sandbox Code Playgroud)

环顾四周,它是你想要恢复的版本吗?

如果是这样,请在此处创建分支

git checkout -b mybranch
Run Code Online (Sandbox Code Playgroud)

  • _Git 让人很难丢掉工作_但确实很容易搞砸 (5认同)