擦除远程分支历史记录而没有良好的初始提交

时间:2016-07-13 02:10:19

标签: git

我有两个本地存储库:a-public-projecttop-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网站删除回购,然后推送正确的本地回购,但是如果再次发生我无法控制的回购,我该怎么办?

1 个答案:

答案 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