Weekly 2021-32
2021-08-05 本文已影响0人
Kenny锅
Git
问:突然你的小弟紧张兮兮过来问你,把没有 push 到远程的本地分支删除了,怎么办?
要是放在以前,我肯定也懵了。但回头一想,这种我能碰上,那全世界那么多倒霉蛋肯定也会遇到同样的问题。 一定有办法能搞定,来吧!
经过一顿猛操作,搜索后发现 git reflog
可以恢复。步骤如下:
命令行输入: git reflog
,得出如下历史记录
根据记录里的提交描述信息,准确的找到你要恢复的时间点(commit id),平时认真写提交描述的重要性体现出来了。
新建一个分支,用"存放"待恢复的分支 saveme
与代码。tips: commit id 没有必要写全,前4位就可以了
gitt branch saveme 1760
然后 git checkout saveme
就能看到saveme分支的代码,真是救了小弟一命(手动狗头)
也许有人问,git log 不也能看日志吗? 他和 git reflog 有什么区别
git reflog 能看到被删除的 commit id,但 git log 看不到
为了防止被打脸,再补充一次,发现加上 -g
也能看到被删除的 commit id,命令:git log -g
历史提交记录还能更pretty呢, git log -g --oneline