簡體   English   中英

如何在Git存儲庫中還原已刪除的提交

[英]How to restore the deleted commits in Git Repository

在小組項目中,如果開發團隊的一個成員使用以下命令刪除了一些提交,

git reset --hard commit-number

然后使用將其推送到倉庫

git push origin master --hard

通過執行此操作,將在遠程存儲庫中刪除在指定“提交編號”之后進行的提交。

現在如何找到刪除它的人以及如何恢復那些刪除的提交?

注意:在這種情況下,所有開發人員都不會主動接受他的錯誤,因此很難通過討論來發現它。 有沒有辦法回溯並找到刪除它的開發人員的用戶名?

要恢復已刪除的提交,第一步,您可以檢查是否有任何同事仍具有其分支的本地版本。

如果您需要將共享版本還原到重置之前的版本,請確保同意誰在其分支上擁有預期的版本,並要求他們git push --force

關於知道誰做的部分,我建議您詢問。

請參閱此職位

要返回到該提交,可以使用reflog查找其引用。

參考日志或“ reflogs”記錄本地存儲庫中分支和其他參考提示的更新時間。

運行以下命令:

git reflog

掃描前幾項,並找到丟失的提交。 跟蹤該提交的標識符(可以使用第一列或第二列)。 我們將標識符稱為“ ID”。

如果自從進行重設-刻苦之后沒有做任何額外的工作,則可以執行以下操作:

git reset --hard ID
git push -f origin master

如果自重置以來您還進行了其他工作,則可以像下面這樣重新選擇分支:

git cherry-pick ID
git push origin master

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM