它能够还原`git rebase origin / master --strategy = ours`吗?

时间:2015-01-10 09:35:27

标签: git

事情是这样的:

我有一个远远超过远程分支的本地分支。

当我合并它们时,有一种冲突的基调需要解决。

所以我来到stackoverflow询问如何设置远程分支数据与我的本地分支相同。

有人给了我这个命令:git rebase origin/master --strategy=ours

我在我的本地分支下做了这个,现在我的本地分支恢复到orgin / master的旧提交!我使用git log,最后一次提交与远程分支相同,所有新提交都消失了,这是五天的工作。

有没有办法恢复我的本地分支数据?

3 个答案:

答案 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,然后我恢复了我的分支!