git的分支恢复

今天因为分支过多,准备删除一些。不小心删错了一个,卧槽,而且删除的分支的提交还在本地,但是该分支的最后一次提交记录大约过去一周了,怎么找回呢。我首先想到了这篇文章 http://blog.csdn.net/fdipzone/article/details/50616386

但是直接用这哥们的方法对外来说帮助不大,因为那个分支最后一次提交距离现在时间过久。很多很多个提交眼花缭乱找不到。后来我想到了万能的命令

git reflog 

这个命令可以查看最近的git变动,包括rebase,cherry-pick,commit,reset 等等都包含在内。

Paste_Image.png

需要返回某个状态只需要下面命令就可以了,哪怕是用了reset --hard命令

git reset --hard  [commit-id]

但是依然很多,加上日期和作者,然后根据提交备注过滤可以找出来。

git reflog --author wangguodong --before 2017-04-13  | grep '分享'
Paste_Image.png

这个就是了。如果时间不确定可以把时间条件去掉。
然后

git show --stat dc948bd
Paste_Image.png

确实是我的修改。

记住这个commit _id 然后新建一个分支,然后reset回去。

git checkout -b user_share
git reset --hard dc948bd

查看如下就有了


Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 8,606评论 1 26
  • 以下笔记主要参考gitgot,大致了解git使用和原理。 第一部分我们从个人的视角去研究如何用好Git,并且揭示G...
    carolwhite阅读 2,419评论 0 1
  • 补昨天的日记 女儿最近从托辅回来,就帮看我炒菜,扫地,整理房间等。原来这是托辅老师发动的“好习惯好未来”活动。最近...
    尚源希妈妈阅读 167评论 0 0
  • 在实际项目的工程中,Swift与Objective-C文件都可以无缝结合。 Swift工程里使用Objective...
    kamto阅读 418评论 0 2