1. 程式人生 > >Git: 恢復被刪除的分支(Restore the deleted branch)

Git: 恢復被刪除的分支(Restore the deleted branch)

一般來講,當我們的分支已經合併到了master,那麼我們會刪除本地和遠端的分支,用下面的命令:

git branch -d <your-branch>

或者

git branch -D <your-branch>

下面這個-D表示強制刪除。

那麼有時候就會手賤,甩開膀子寫了一大堆程式碼,一不小心,你把分支給幹掉了,更可氣的是你用的-D強制刪除,這咋辦,彆著急,想辦法恢復。

一般來講,當刪除一個分支後,控制檯會打印出類似這樣的資訊:

......
Deleted branch <your-branch> (was <sha>)

其中sha相信大家也很熟悉,就是那個雜湊碼,作為唯一的標識。那好,有了這些資訊,我們就可以恢復了:

git checkout -b <branch> <sha>

當然這是在剛剛刪除的時候,螢幕上還保留雜湊碼的情況下所做的操作,那麼問題來了,如果雜湊碼找不到了咋辦?我們首先可以這樣去查一下這個branch上的雜湊碼:

git reflog

找到對應的雜湊碼後就好辦了,跟上面的命令一樣了:

git checkout -b <branch> <sha>