Git 幽灵冲突问题解决

Posted by CodingWithAlice on March 8, 2026

Git 幽灵冲突问题解决

一、背景

什么是幽灵冲突?

  • A、B 同时改同一文件的不同逻辑,本无冲突,但一方提交前格式化了代码(空白行、缩进等),merge 时出现大量仅因空白产生的冲突,diff 错行后容易选错 merge 版本,导致功能异常

二、解决方案

1. 定期格式化

上线分支定期格式化,避免格式遗漏

2.本地 Git 配置(本地环境)

执行如下指令,merge 时忽略行尾空白、空行等变化,减少幽灵冲突

git config --global merge.ignoreSpaceChange true

3.Pre-commit 自动格式化

已更新配置 lint-staged,提交前会自动对暂存文件执行 eslint –fix + prettier,保证每次提交风格一致,新增修改不会引入格式问题