今天因为分支过多,准备删除一些。不小心删错了一个,卧槽,而且删除的分支的提交还在本地,但是该分支的最后一次提交记录大约过去一周了,怎么找回呢。我首先想到了这篇文章 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