我有两个本地存储库:a-public-project
和top-secret
,在对两个本地存储库进行多次提交之后,我在GitHub上创建了一个新的空存储空间,它将是a-public-project
的远程存储空间,但是我不小心推了top-secret
:
cd C:/Git/top-secret
git remote add github https://github.com/me/a-public-project.git
git push -u github master
在恐慌模式下,我在线搜索并找到了这些结果:
不幸的是,所有这些都涉及重置我的本地分支并执行git push --force
:这假设有一个很好的有意提交,我可以回滚到。在这种情况下,我没有 - 整个仓库历史记录很糟糕,远程仓库需要删除其历史记录(但我的本地仓库历史记录未被触及,显然)。
幸运的是,在这个特定的实例中,我能够使用GitHub网站删除回购,然后推送正确的本地回购,但是如果再次发生我无法控制的回购,我该怎么办?
答案 0 :(得分:2)
一种快速恢复方法是从远程
删除主分支git push github :master
或者您可以快速跳到a-public-project
并强制推送以覆盖
cd C:/Git/a-public-project
git remote add github https://github.com/me/a-public-project.git
git push -u github master --force