记一次开发中事故,一个功能代码丢了,且分支也被删了,找不到原代码,当时想着重新写。试着搜索git如何恢复远端已删除的分支,结果成功了,我的天。
一.查看reflog,找到最后一次commitid
“reflog是reference log的意思,也就是引用log,记录HEAD在各个分支上的移动轨迹。选项 --date=iso,表示以标准时间格式展示。这里你肯定会问,为什么不用git log?git log是用来记录当前分支的commit log,分支都删除了,找不到commit log了。”
查看提交记录,找到功能的最后一次提交,所以commit的注释很重要啊,自己心里要有数。
git remote prune --dry-run origin
拷贝uuid,“b660c0520” 这个很重要,用来恢复提交记录的,
二 创建分支,
这个命令创建分支。git checkout -b recovery_branch_name commitid
翻译一下
git checkout -b dev_0427 b660c0520
执行这个命令会创建dev_0427分支,且提交记录是到"b660c0520" 也就是说找回了删除的代码。
不说了,我去合并代码了,这功能需要测试了。今天发现dev分支没有这个功能。
参考文章:https://www.php.cn/tool/git/487577.html