情况如下。我对我的分支和origin / master进行了合并(在图片上提交80d0e2b)并将我的更改推送到远程服务器。合并似乎很糟糕,我决定应用git reset HEAD~1
将其从服务器中删除(是的,我是愚蠢的)。现在我遇到了一些情况,当某些提交(例如,MOB-25)无法从任何分支到达时,提交2e4df35被称为最后一个提交。
我考虑过将原点/主控点更改为指向MOB-25,然后再应用fetch并进行合并。
我也发现这个帖子建议使用reflog(How can I undo git reset --hard HEAD~1?),但我想100%肯定。什么是解决这个混乱的最佳方法?
答案 0 :(得分:1)
您唯一的选择是使用git reflog来查找您一直在使用的sha1提交的历史列表......以及您的备份。
找到您想要的提交后,标记或分支,以便它显示在您的日志中。
哎呀,标记所有指示“MOB-25”的reflog行,如果需要,使用不同的标签,并使用gitk或您首选的git程序查看修订树。当你找到想要的那个时,可以随意删除它们。
要查看reflog:
git reflog
创建标签:
git tag MOB-25a theSha1
创建分支:
git branch theSha1 MOB-25a