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获取并重新平衡,以便再次推送它。