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

TortoiseGit合并冲突无法解决:修改后标记解决却恢复本地版本

解决TortoiseGit用kdiff3合并冲突后文件变回本地版本的问题

先按正确流程走一遍

  • 打开kdiff3后,三个窗口分别对应:
    • BASE:冲突双方的共同祖先版本
    • LOCAL:你本地当前分支的文件
    • REMOTE:要合并进来的分支文件
  • 在底部的合并编辑区改完冲突后,别直接关软件!先点顶部文件→保存,确保修改写到了那个带冲突标记的原文件里,不是那三个临时文件
  • 接着点合并→保存合并结果(或按Ctrl+S),这步是核心,得让kdiff3把最终内容同步给TortoiseGit

检查TortoiseGit的kdiff3配置

  • 打开TortoiseGit设置,路径:设置→差异查看器/合并工具→合并工具
  • 确认kdiff3的命令路径正确,且参数必须包含-o "$output",标准参数配置应为:
    --auto --L1 "Base" --L2 "Local (you)" --L3 "Remote (other)" -o "$output" "$base" "$local" "$remote"
    
    要是缺了-o "$output",kdiff3的修改根本不会写入目标文件,自然会变回LOCAL版本

手动确认后再标记解决

  • 用kdiff3保存完,先别急着点TortoiseGit的“标记为已解决”,先打开冲突文件确认你的修改已经保存进去
  • 确认内容没问题后,再回到冲突解决GUI,右键选标记为已解决,此时临时的BASE/LOCAL/REMOTE文件会被自动清理,修改后的文件会保留

实在不行就用命令行补一刀

  • 如果还是出现恢复LOCAL的情况,先在命令行执行git add <你的冲突文件名>,手动把文件标记为已解决,再回到TortoiseGit继续完成合并流程

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 19:33:24