gpt4 book ai didi

git - 恢复 git remote 意外推送的存储库更改

转载 作者:太空狗 更新时间:2023-10-29 13:46:44 24 4
gpt4 key购买 nike

如何从远程源删除意外推送的存储库?

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

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

有什么想法吗?

How is it possible?

最佳答案

您看到两个独立的序列,因为 repo 是“不相关的”——不是同一个 fork 。

在这种情况下,Repo2 上的

git reflog 可能会有所帮助。

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

但我不确定你想要完成什么。所以一定要备份两个存储库。

关于git - 恢复 git remote 意外推送的存储库更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37806599/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com