关于github:在搞砸Repos之后用另一个覆盖一个Git Repo

Overwriting one Git Repo with another after messing up Repos

我是Git的新手,我真的需要帮助来解决这个问题,因为我对如何解决这个问题完全困惑。

假设我在Github有两个回购,分别是repo1和repo2。repo1是我的个人repo,包含一个软件。repo2是其他东西的一部分,包含与repo1(它是一个分支)相同的内容。

一段时间前,我设法搞乱了repo1,还设法用错误的信息更新repo2。在我尝试修复这两个问题时,我成功地修复了repo1,但强制使用repo1的文件更新repo2(使用github for mac),后者使用正确的文件更新repo2,但完全破坏了repo2的历史。

现在我可以正确地更新repo1,但是每当我尝试将repo1(上游)中的文件提取到本地repo2时,都会出现合并错误。我尝试使用这里给出的解决方案:从git remote拉取时使用远程更改解决冲突这似乎可以修复本地repo2(但我不确定…),但当我尝试将结果推送到github上的repo2时,会收到以下错误消息:

1
2
3
4
5
6
7
! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://github.com/folder/Repo2.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

我不关心repo2的历史,我只想用repo1的内容覆盖repo2的全部内容,并消除任何后续问题。我该怎么做?

请帮帮我,因为我发现处理这整件乱七八糟的事情非常令人沮丧,我不知道我在做什么。


如果您只想在repo2上获取repo1的全部内容,可以尝试:

1
git push --mirror

您可以在Github帮助页面中找到它


看来Github上的repo2比本地版本的repo2快。您需要从Github获取并合并,或者从Github获取并重新平衡,以便再次推送它。