Git: 恢复被删除的分支(Restore the deleted branch)
程序员文章站
2022-03-07 09:34:19
...
一般来讲,当我们的分支已经合并到了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>