如何解决KDiff在解决合并冲突时额外添加空白行的问题
KDiff合并冲突时自动额外添加空白行的解决办法
该问题通常由KDiff默认编辑配置、git mergetool调用参数不匹配导致,按以下步骤操作即可修复:
1. 调整KDiff内置配置
- 打开KDiff客户端,点击顶部菜单栏
设置→配置KDiff - 切换到编辑器标签页:
- 将行结束符设置为和原文件保持一致,不要强制统一为LF/CRLF
- 取消勾选保存时自动在文件末尾新增换行符、自动对齐差异块插入空行两个选项
- 切换到差异标签页,勾选忽略行尾空白差异,减少不必要的行尾识别误差
- 保存配置后关闭KDiff
2. 修正git mergetool调用参数
打开终端执行以下命令,修改git的KDiff启动参数,避免git预处理时自动修改行尾:
# 配置KDiff3的返回值识别规则 git config --global mergetool.kdiff3.trustExitCode true # 配置KDiff3启动参数,禁止自动插入对齐空行 git config --global mergetool.kdiff3.args --auto --no-autoinsertemptylines --L1 "$MERGED (Base)" --L2 "$MERGED (Local)" --L3 "$MERGED (Remote)" -o "$MERGED" "$BASE" "$LOCAL" "$REMOTE" # 按需配置行尾转换规则,单平台统一环境可直接设为false git config --global core.autocrlf input
3. 验证效果
修改完成后重新走一遍合并冲突解决流程,保存后不会再出现自动插入空行的问题。
内容的提问来源于stack exchange,提问作者LANSELOT
相关产品推荐
相关产品推荐

