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

执行git revert后如何恢复本地修改的代码?

恢复本地丢失修改的方法

场景1:本地修改未提交(未执行git add/git commit)

Git不会主动删除未提交的本地修改,除非你执行了git reset --hard、git checkout这类强制覆盖命令。可以通过以下步骤找回:

  • 执行git fsck --lost-found:该命令会把所有未被Git追踪的文件对象存入.git/lost-found/other目录
  • 用git show <对象ID>逐个查看目录里的对象内容,定位到你丢失的修改
  • 找到目标对象后,执行git show <对象ID> > 目标文件名,将内容导回原文件

场景2:本地修改已提交(但被revert覆盖)

如果你的本地修改已经提交为独立commit,只是被revert操作覆盖:

  • 执行git log --oneline查看提交历史,找到你之前的本地提交ID
  • 用git cherry-pick <本地提交ID>将该提交的内容重新应用到当前分支
  • 若出现冲突,手动解决后执行git cherry-pick --continue即可完成恢复

后续操作建议

  • 下次执行git revert前,先用git stash暂存本地修改,完成revert后再用git stash pop恢复,避免冲突导致修改丢失
  • 若要调整已合并到主线的提交,建议在revert后重新编写修正代码并提交,不要直接修改已推送的主线历史(风险极高)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 23:24:39