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

Git如何回退他人提交?执行git revert报错本地变更会被覆盖怎么办

Git回退他人提交操作步骤

第一步:清理本地不一致状态

你遇到的报错是因为本地存在未提交的变更,即使你未主动修改,也可能是跨系统换行符自动转换、编辑器自动修改配置、构建生成临时文件等原因导致,执行以下命令清理:

  • 恢复所有已跟踪文件的修改:git restore .
  • 删除所有未跟踪的文件和目录:git clean -fd
  • 确认本地分支和远程最新状态同步:git pull origin <目标分支名>
    替换<目标分支名>为你要操作的分支,例如main、master

第二步:执行回退操作

执行revert命令生成回退提交:

  • 回退普通提交:git revert <目标提交ID>
  • 回退合并提交:git revert -m 1 <目标合并提交ID>
    回退合并提交时必须指定-m 1参数,代表以第一个父分支(即合入的目标分支)为准回退变更

若执行过程中出现冲突,手动编辑冲突文件解决后,执行git add <冲突文件名>,再执行git revert --continue即可完成回退操作。

第三步:提交回退结果到原仓库

由于你不是仓库的正式贡献者,无法直接推送提交到原仓库,按以下两种场景选择操作:

  • 仓库接受PR/MR贡献:先将仓库fork到自己的账号下,把本地生成的回退提交推送到你fork的仓库,再向原仓库对应分支提交PR/MR,等待仓库管理员审核合入
  • 已获得临时推送权限:直接执行git push origin <目标分支名>推送回退提交到原仓库即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 22:54:05