git本地提交后,忘了push到远程服务器,然后删除了该分支,不要慌,有办法恢复的。
首先,查看下log日志
git reflog |grep '分支名字',比如:git reflog |grep 'filter_or_gwf'
以下日志为已删除分支 filter_or_gwf 相关的操作日志:
![](https://img.haomeiwen.com/i12304197/0de7489b198eef76.png)
① 在HEAD@{60}从master 创建了新的分支 filter_or_gwf
② 在HEAD@{6} 时错误的删除了分支 filter_or_gwf
③ 6 和 60之间来回切换、合并、提交了一些修改
可以看到 在HEAD@{14} 处最后切换到了该分支 filter_or_gwf
然后恢复分支 ,终端输入:
git checkout -b filter_or_gwf HEAD@{14}
此时就成功恢复了原分支,查看代码是否全部恢复,关键是确定最后要恢复的head。
git reflog与git log 区别
git log 只能查看当前分支的log,不能查看已删除分支的
git reflog可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
网友评论