如何才能从远程原点删除意外推送的存储库?
在推送之前,有两个独立的存储库具有自己的历史记录 例如:
Repo1:Commit1 - Commit2 - Commit3< - Head
Repo2:Commit1 - Commit2< - Head
添加额外的遥控器,将Repo1存储库引用到Repo2并将所有Repo2更改推送到Repo1遥控器后,Repo1开始如下所示:
Repo1: Repo2Commit1 - Repo2Commit2-- --Repo1Commit1 - Repo1Commit2 - Repo1Commit3< - Head
因此它看起来像一个主分支,具有两个彼此不相关的独立提交历史序列。
另外git log
没有显示所有提交,它只显示一个独立序列的历史记录。
有没有办法从Repo1恢复Repo2提交。所以它看起来像以前一样:
Repo1:Commit1 - Commit2 - Commit3< - Head
有什么想法吗?
答案 0 :(得分:0)
您会看到两个独立的序列,因为回购是"无关" - 不一样的叉子。
在这种情况下,关于Repo2的 git reflog
可能会有所帮助。
将Repo2克隆到另一个目录并在那里运行git reflog
。您将看到对存储库进行的顺序更改。之后你可以硬复位到想要的提交(reflog中的历史记录包含每个更改的哈希)并强制将其推回到远程Repo2。
但我不确定你想要完成什么。所以一定要备份两个存储库。