0

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

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

我还发现这个线程建议使用 reflog(如何撤消 git reset --hard HEAD~1?),但我想 100% 确定。解决这个烂摊子的最好方法是什么? 在此处输入图像描述

4

1 回答 1

1

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

一旦你找到了你想要的提交,标记或分支它,以便它出现在你的日志中。

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

要查看 reflog:

git reflog

要创建标签:

git tag MOB-25a theSha1

要创建分支:

git branch theSha1 MOB-25a
于 2013-07-15T14:46:09.700 回答