【问题标题】:Wiping a remote branch history without a good initial commit在没有良好初始提交的情况下擦除远程分支历史记录
【发布时间】:2016-11-15 10:39:34
【问题描述】:

我有两个本地存储库:a-public-projecttop-secret,在对两个本地存储库进行了多次提交之后,我在 GitHub 上创建了一个新的空存储库,它将作为 a-public-project 的远程存储库,但是我不小心推送了 @987654328 @ 改为:

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:这假设我可以回滚到一个好的故意提交。在这种情况下,我不会 - 整个 repo 历史记录都很糟糕,remote repo 需要删除它的历史记录(但我的本地 repo 历史记录显然没有受到影响)。

幸运的是,在这个特定的例子中,我能够使用 GitHub 网站删除存储库,然后推送正确的本地存储库,但是如果我无法控制的存储库再次发生这种情况,我该怎么办?

【问题讨论】:

    标签: git


    【解决方案1】:

    一种快速的恢复方法是从远程删除主分支

    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
    

    【讨论】:

    猜你喜欢
    • 2012-04-04
    • 2013-08-09
    • 2014-05-05
    • 2022-11-24
    • 1970-01-01
    • 1970-01-01
    • 2012-12-06
    • 2020-12-23
    • 2014-11-20
    相关资源
    最近更新 更多