[英]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.