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

git log --oneline不显示最近提交 git revert报错bad revision怎么办

报错原因

你在GitHub网页端执行删除操作生成的提交仅存在于远程分支,本地仓库未同步最新的远程提交记录,因此本地既查不到对应提交哈希,也识别不了GitHub上复制的提交ID,就会触发fatal: bad revision类报错。

解决方法

方案1:保留提交历史(推荐,适合多人协作的分支)

  • 先切换到你提交PR对应的本地分支:git checkout <你的本地功能分支名>
  • 同步远程分支的最新提交到本地:git pull origin <你的远程功能分支名>

    同步完成后执行git log --oneline即可看到网页端删除文件生成的提交记录,本地也能识别对应提交哈希

  • 执行回退命令撤回删除操作:git revert 738bd6a --no-edit
  • 将本地生成的回退提交推送到远程:git push origin <你的远程功能分支名>
    推送完成后PR会自动更新,被误删的news/reddit.py就会恢复,无需关闭重提PR。

方案2:清理提交历史(适合个人单独开发的分支)

如果不想在提交历史中保留「删除文件+回退删除」两条冗余提交,可以用变基操作直接抹除删除提交:

  • 同步完远程最新代码后,执行交互式变基:git rebase -i HEAD~2
  • 在弹出的编辑界面中,将删除文件对应的提交前的pick改为drop,保存退出
  • 强制推送修改后的分支到远程:git push origin <你的远程功能分支名> -f
    操作完成后PR中不会留下任何误删文件的相关记录,提交历史更整洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 10:18:02