事情是这样的:
我有一个远远超过远程分支的本地分支。
当我合并它们时,有一种冲突的基调需要解决。
所以我来到stackoverflow询问如何设置远程分支数据与我的本地分支相同。
有人给了我这个命令:git rebase origin/master --strategy=ours
我在我的本地分支下做了这个,现在我的本地分支恢复到orgin / master的旧提交!我使用git log
,最后一次提交与远程分支相同,所有新提交都消失了,这是五天的工作。
有没有办法恢复我的本地分支数据?
答案 0 :(得分:3)
如果您在当地分行,请尝试git reset --hard ORIG_HEAD
。
如果这不起作用,请查看git reflog
:您应该在那里看到您之前的本地分支SHA1。
答案 1 :(得分:2)
使用git reflog
在rebase之前查找上次提交的SHA1并将其签出。
答案 2 :(得分:1)
上面的两个答案非常好。通过他们的帮助,我找到了解决这个问题的方法。
首先,我使用git reflog
,然后我看到一个列表,其中包含我本地分支的最近提交。
我选择了最新的提交,然后做了git reset --hard HEAD_OF_THAT_COMMIT
,然后我恢复了我的分支!