git恢复本地误删除的分支

今天忙中出错,把本地的一个分支删除了,而我半天的改动只提交在了本地,并没有push到远程分支。重新写一遍太浪费时间了,于是了解了git是否有恢复本地删除的分支的方法。好在,git每次操作都有记录,通过下面的方法,最终是把删除的代码找了回来。

分两种情况考虑,一种是执行完了删除操作,立马发现删错了分支。这种情况比较好处理,我们可以直接看到被删除分支当时对应的hash,比如:

1
2
➜  netools git:(master) ✗ git branch -D dumit
Deleted branch dumit (was a0af6ee).

这里我删除的分支对应的hash是a0af6ee,直接用git branch <branchName> <hash>来找回分支:

1
git branch recovered-dumit a0af6ee

另一种情况是,删除之后过了很久才想起删错了分支,这时候已经没法从命令行找到被删除的分支的hash了。好在我们可以通过git reflog来找到你上次提交的hahs:

1
2
3
4
5
6
7
.....
39070a8 (HEAD -> master, origin/master, origin/HEAD) HEAD@{3}: checkout: moving from dumit to master
a0af6ee HEAD@{4}: commit: test
39070a8 (HEAD -> master, origin/master, origin/HEAD) HEAD@{5}: checkout: moving from master to dumit
39070a8 (HEAD -> master, origin/master, origin/HEAD) HEAD@{6}: pull: Fast-forward
2aef842 HEAD@{7}: pull: Fast-forward
506767e HEAD@{8}: commit: #2 mac libpcap 1.8.1......

我这里的最后一次提交是a0af6ee,同样,通过git branch <branchName> <hash>来恢复分支。

ParNew长时间停顿 AspectJ中的类型间声明(成员注入)

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×