Git如何基于本地已知提交SHA恢复已删除的分支?
恢复操作方法
你本地可以正常查询到该提交记录的话,不需要手动复刻提交内的代码变更,两步就能完成操作:
- 打开终端进入本地对应Git仓库目录,直接基于该提交创建并切换到新分支,执行命令:
git checkout -b <替换为你需要的新分支名> 4afa3abc4218b6251dea24c910eaced6af465d11
执行完成后,本地就已经生成了指向该提交的全新分支,代码状态和你误删分支在该提交节点的状态完全一致。 - 如果需要让同事也能访问该分支,把本地创建好的分支推送到远端即可:
git push origin <你刚创建的新分支名>
推送完成后其他协作者拉取远端分支列表,就能正常检出该分支,查询对应提交也不会报错。
说明:同事执行相同git log命令报错属于正常情况,该提交目前仅存储在你本地的Git对象库中,属于未同步到远端的悬空提交,其他协作者的本地仓库没有对应提交对象,自然无法查询。
内容的提问来源于stack exchange,提问作者shayms8
相关产品推荐
相关产品推荐

