如何用本地副本完全替换远程存储库 git 历史记录?

How to completely replace remote repository git history with local copy?

我在 GitHub 中有一个存储库和一个本地存储库。我想用本地存储库完全覆盖 GitHub 存储库,覆盖所有内容 - 提交历史、文件、所有内容。这 2 个存储库不相关 - 它们彼此不同。

我需要它是因为我犯了一个错误——我合并了 2 个不相关的存储库,结果我在一个存储库中混合了这两个存储库,但我有另一个没有这样错误的本地文件夹。

  1. 删除 GitHub 存储库并创建一个新的。如果您愿意,它可以具有相同的名称。确保它完全是空的(不要制作自述文件或类似的东西)。

  2. 将新的 GitHub 存储库设置为本地存储库的远程(GitHub 告诉您如何在创建存储库时执行此操作)。

  3. 在您的本地计算机上,推送每个分支(根据您的设置,您可以使用 git push --all 进行简化,但如果不能,您只需单独推送每个分支).

如果不需要完全相同的 Github 存储库,您可以按照此处详述的步骤操作:https://docs.github.com/en/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github 我不完全确定,但您也可以使用此方法推送到现有存储库。