好的,所以我在 GitHub 上有一个 fork 的 repo,并且上游 repo 自从我 fork 以来还没有更新。昨天,我从几个月前 fork 回购之前所做的最后一次上游提交创建了一个分支。
我在分支上做了一个错误的提交,所以我试图通过git push -f origin HEAD^:master
在我的本地分支实例上使用来撤消它,但是正如你所看到的,我忘记更改master
为分支的名称。所以它最终覆盖了我迄今为止在主人身上所做的一切。
我的问题是,有没有办法消除这个混乱,这样我就可以让主人回到这个特殊推动之前的状态?
我经常使用 TortoiseGit 和 TortoiseSVN,在 Git 的任何组件中我都看不到我之前在 master 上所做的任何事情的剩余部分,但是我仍然可以在 SVN 主干的历史日志中看到我之前的所有提交。在以前的状态下,我没有干净的 master 本地实例。
我试过类似git reset --hard <last good commit hash>
or的东西git push -f origin <last good commit hash>:master
,但它说不存在这种哈希的提交。我仍然可以从浏览器历史记录中访问 GitHub 上的所有先前提交。
下游没有任何东西,所以不用担心。
有小费吗?