繁体   English   中英

还原git remote意外推送了存储库更改

[英]Revert git remote accidentally pushed repository changes

怎么可能从远程原点删除意外推送的存储库?

在推送之前,有两个独立的存储库具有自己的历史,例如:

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

有任何想法吗?

这怎么可能?

你看到两个独立的序列,因为回购是“不相关的” - 不是相同的分叉。

在这种情况下,Repo2上的git reflog可能会有所帮助。

只需将Repo2克隆到另一个目录并在那里运行git reflog 您将看到对存储库进行的顺序更改。 之后,你可以硬复位到想要的提交(reflog中的历史记录包含每个更改的哈希)并强制将其推回到远程Repo2。

但我不确定你想要完成什么。 因此,请务必备份两个存储库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM