恢復誤刪的git分支


我猜你進來找答案的時候表情應該是這樣的

????????????

 

別着急!!!!!!!!!!!!!!!!

 

在使用Git的過程中,有時可能會有一些誤操作

比如:執行checkout -f 或 reset -hard 或 branch -d刪除一個分支

結果造成本地(遠程)的分支或某些commit丟失

這時,我們可以通過reflog來進行恢復,前提是丟失的分支或commit信息沒有被git gc清除

一般情況下,gc對那些無用的object會保留很長時間后才清除的

reflog是git提供的一個內部工具,用於記錄對git倉庫進行的各種操作

可以使用git reflog show或git log -g命令來看到所有的操作日志

恢復的過程很簡單,兩部解決:

 

1. 通過 git reflog show 命令來找到我們需要恢復的信息對應的commitid,id就是前面標黃的數字

 

 

什么?你忘了分支名字只記得刪除時間?那可以通過 git log -g 看提交的時間和日期來辨別

 

 

2. 通過 git branch recover_branch commitid 來建立一個新的分支

 

 recover_branch是你恢復分支想取的名字,commitid是你提交記錄的id。復制粘貼抄作業別抄太全!!!

小手敲一下回車鍵?en,它沒有操作成功提示。別大驚小怪的,下面看看成功了沒有。

有人說為什么兩條命令行找出的id長短都不一樣?別問,問了就是不知道!用就行!

 

這樣,我們就把丟失的東西給恢復到了recover_branch分支上了,去查看剛剛恢復的分支吧

 git checkout recover_branch

 

嗯,成功了!太高興了,你又可以繼續搬磚了!!!!!!!!!!!!!

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM