恢复误删除的git分支(已备份)
如果不小心在本地把某个本地分支A以及远端分支origin/A都删了的话...
目前可用的方法
- 比较可靠的方式:问下其他人本地有没有代码,idea会自动fetch,所以有比较大的可能性能找到分支A的较新状态,可以请他重新推到远端(其他git工具也有可能)。
- 远端分支还在的话可以考虑重新拉下来,如果本地没有额外提交的话
- 用git恢复分支,这种方法可行但是不一定能完全恢复
使用git恢复分支
首先记得整体备份一下
如果删之前往fdev或者往其他分支合过/如果这个分支的提交没往别的分支合过
查找最新commit信息
- 找到fdev提交记录里分支A最新的一次commit(非merge),记下sha
git log -g
找到你在那个分支的最后一次提交的commit,记下sha
- 使用
git branch recover_branch[新分支] commit_id
命令用这个commit重新创建一个分支
如:git branch recover2 892a35078757471acd4e78fd8773b8e01ca0cbd5
如果用的是GitHub官方客户端可以右键分支A最新commit,选择create branch from commit
(仅适用于删之前往fdev或者往其他分支合过,如果没合过还是用git log -g
找commit)
可以看到新建的分支都是分支A的提交,没有把fdev中途别的分支合过来带的提交弄过来。