Git删除分支如何恢复

- 1 min

Git删除分支如何恢复

问题

准备要上线某功能,突然发现需要上线Git分支被删。

恢复

**1、git log -g : 显示已经commit的信息

## 如果commit的内容过多的话,我们可以进行过滤查找:
git log -g --author="xx@qq.com"   // 根据用户名过滤,模糊匹配
git log -g --grep "xx"  // 根据commit时候的提交信息查找,模糊匹配

2、根据commit信息,找到对应的commitId

3、git branch new_branch commitId,用这个commit创建一个新的分支

这样,该新的分支,就保留了commitId对应的修改,我们可以使用git log 命令来查看是否正确

补充:

在执行第二步的时候,如果不行,可以执行:git fsck --full(文件系统检测),
该命令显示所有未被其他对象引用 (指向) 的所有对象,
查看改命令列举出的commit中有没有自己想要的commitId

git fsck 相对reflog是有优势的。比方说你删除一个远程的分支然后关闭仓库。 
用fsck 你可以搜索和恢复已删除的远程分支

IDE的Local History恢复

如果是在不行,尝试在编辑器的历史记录中,找到local history,看看能不能还原回来

Git参考文档: https://git-scm.com/book/zh/v2

rss facebook twitter github gitlab youtube mail spotify lastfm instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora quora