You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何恢复误执行git push -f origin后丢失的63个历史提交?

恢复被覆盖的63个GitHub提交方法

别慌,GitHub会保留一段时间的提交快照,按下面步骤就能找回来:

  • 先找到丢失提交的哈希值:打开你的私有仓库页面,要么去「提交」板块翻找被覆盖的历史记录,要么点右上角「Insights」→「Network」,在分支活动轨迹里找到你误操作前的最后一个提交(就是那63个提交里的最新一个),点击它的哈希串(一串字母数字)复制下来。
  • 本地重建分支:打开GitHub Desktop的「仓库」菜单,选择「在终端中打开」,输入下面的命令(把<复制的哈希值>换成你刚才复制的内容):
    git checkout -b recover-branch <复制的哈希值>
    
    这时候你本地就有了包含所有63个提交的分支。
  • 推回远程原分支:接着在终端里输入命令(假设你的原分支是main,如果是其他分支就替换成对应名称):
    git push -f origin recover-branch:main
    
    执行完之后,远程仓库的原分支就会恢复到误操作前的状态。
  • 嫌命令行麻烦?试试界面操作:找到那个最后丢失的提交后,点击「对比并拉取请求」,直接把这个提交合并回原分支,合并完成后就能恢复所有历史了。

注意:如果这段时间有其他人往这个分支推过新内容,恢复前要先确认合并冲突,但你是私有仓库且只有自己操作的话,直接按上面步骤来就行。

内容的提问来源于stack exchange,提问作者dimfalk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 16:46:05