我在我的 git repo 上设置了一个遥控器时犯了一个错误,并从一个完全不同的项目中获取。
幸运的是,没有合并,但我现在有 2 个项目的历史在我的仓库中浮动,我试图弄清楚如何让我的仓库恢复到我进行错误提取之前的状态。
我一直在阅读有关reflog
,和其他试图解决的命令rebase
,gc
这将帮助我摆脱我不小心获取的东西,但到目前为止还没有任何地方。
看起来我的回购中有两个项目的历史,但它们是完全独立的。基本上有 2 个独立的提交树彼此并行运行,事实上,这是我在gitk
查看所有分支时看到的:
可以看到中间的commits和history的开头和结尾的commits没有关联。在日期方面,它们是交错的,但gitk
由于某种原因没有显示它们是交错的。
孤立的提交(在图片中间)是我试图摆脱的那些,它们似乎没有附加到任何分支。我的 repo 中的任何 HEAD 都没有返回到这组提交的路线。
到目前为止,我已经尝试过(以防万一它有所作为):
git remote prune
git prune
git gc
git gc --aggressive --prune=tomorrow
git remote update --prune
git fetch --all
但目前还没有任何帮助。谁能建议我如何从我的仓库中删除这些提交?