如何解决错误重置的后果?

时间:2013-07-15 14:43:19

标签: git version-control

情况如下。我对我的分支和origin / master进行了合并(在图片上提交80d0e2b)并将我的更改推送到远程服务器。合并似乎很糟糕,我决定应用git reset HEAD~1将其从服务器中删除(是的,我是愚蠢的)。现在我遇到了一些情况,当某些提交(例如,MOB-25)无法从任何分支到达时,提交2e4df35被称为最后一个提交。

我考虑过将原点/主控点更改为指向MOB-25,然后再应用fetch并进行合并。

我也发现这个帖子建议使用reflog(How can I undo git reset --hard HEAD~1?),但我想100%肯定。什么是解决这个混乱的最佳方法? enter image description here

1 个答案:

答案 0 :(得分:1)

您唯一的选择是使用git reflog来查找您一直在使用的sha1提交的历史列表......以及您的备份。

找到您想要的提交后,标记或分支,以便它显示在您的日志中。

哎呀,标记所有指示“MOB-25”的reflog行,如果需要,使用不同的标签,并使用gitk或您首选的git程序查看修订树。当你找到想要的那个时,可以随意删除它们。

要查看reflog:

git reflog

创建标签:

git tag MOB-25a theSha1

创建分支:

git branch theSha1 MOB-25a