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

如何执行全新的git revert以重新正确解决冲突

Git Revert时跳过旧冲突解决方案的方法

为什么会自动复用旧方案?

Git内置的rerere(Reuse Recorded Resolution)功能会记录你之前解决冲突的结果,当再次触发完全相同的冲突场景时,会自动套用之前的解决方案。你之前的revert操作虽然被reset撤销,但rerere的记录还在,所以再次执行git revert时会自动复用错误的冲突解决方式。

解决办法

1. 临时关闭rerere执行全新revert

  • 先禁用本地仓库的rerere功能:
    git config --local rerere.enabled false
    
  • 重新执行revert:
    git revert <你的提交SHA>
    
  • 此时会重新进入冲突状态,按照正确逻辑解决冲突,完成后执行git add <冲突文件>和git revert --continue即可。
  • (可选)后续需要rerere的话,重新开启:
    git config --local rerere.enabled true
    

2. 清除rerere缓存记录

如果不需要保留任何旧的冲突解决记录,直接清除缓存:

  • 删除rerere的缓存目录内容:
    rm -rf .git/rr-cache/*
    
  • 再次执行git revert <你的提交SHA>,就能重新处理冲突了。

3. 单次revert跳过自动应用

也可以只在本次revert时跳过rerere的自动解决方案:

git revert --no-rerere-autoupdate <你的提交SHA>

这种方式仅对当前操作生效,后续rerere仍会保留旧记录。

内容的提问来源于stack exchange,提问作者A. K.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 16:01:09