簡體   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