Git已删除分支恢复求助:本地及GitHub分支未提交即删除
恢复删除分支上未提交工作的方法
别急,这种情况还是有机会找回你的工作的,我分场景给你一步步讲:
一、先处理本地的未提交工作
首先,你得先确认本地的修改文件状态:
- 如果你的修改还保留在本地工作目录里(只是删了分支指针):这是最幸运的情况!直接重新创建一个新分支(比如
git checkout -b recovery-branch),然后把你的修改用git add .暂存,再git commit -m "恢复未提交的工作"就搞定了。 - 如果本地文件也不小心被删除了:那得靠Git的底层对象库来救。运行这个命令:
这个命令会扫描Git仓库里所有未被引用的对象,把找到的文件放到git fsck --lost-found.git/lost-found/other目录里。你可以逐个查看这些文件,找到你丢失的修改内容,然后复制出来重新使用。
二、恢复GitHub上的分支
如果这个分支你之前推送到GitHub过(哪怕没同步最新的未提交工作):
- 打开你的GitHub仓库页面,点击顶部的「Branches」选项卡
- 往下拉找到「Deleted branches」区域,这里会列出最近删除的分支
- 找到你要恢复的分支,点击它右边的「Restore」按钮,就能把分支恢复到GitHub上了
要是这个分支从来没推送到GitHub过,那GitHub上本来就没有这个分支的记录,也就不用恢复了——把本地找回的工作提交到新分支后,再推送到GitHub就行。
最后提醒一句:以后尽量养成定期提交小版本的习惯,哪怕是git commit -m "WIP: 临时提交",这样就算出问题也更容易找回工作!
内容的提问来源于stack exchange,提问作者demonLaMagra




